Fix placeholder names like weibo_1234, bilibili_1234, nijie1234, and nicoseiga1234 being suggested as Other Names when creating new artist entries. These are meant to be placeholders for the tag name, not used as other names.
129 lines
6.3 KiB
Ruby
129 lines
6.3 KiB
Ruby
require "test_helper"
|
||
|
||
module Sources
|
||
class TinamiTest < ActiveSupport::TestCase
|
||
context "Tinami:" do
|
||
context "A 'http://www.tinami.com/view/:id' post with one image" do
|
||
should "work" do
|
||
source = Source::Extractor.find("http://www.tinami.com/view/1087268")
|
||
|
||
assert_equal("みぐめ", source.artist_name)
|
||
assert_equal(["みぐめ"], source.other_names)
|
||
assert_equal("https://www.tinami.com/view/1087268", source.page_url)
|
||
assert_equal(["https://img.tinami.com/illust2/img/49/6234fe552348b.jpg"], source.image_urls)
|
||
assert_equal("https://www.tinami.com/creator/profile/66493", source.profile_url)
|
||
assert_equal(%w[横顔 アナログ ボールペン SP], source.tags.map(&:first))
|
||
assert_equal("横顔", source.artist_commentary_title)
|
||
assert_equal("横顔", source.artist_commentary_desc)
|
||
end
|
||
end
|
||
|
||
context "A 'http://www.tinami.com/view/:id' post with multiple images (type one)" do
|
||
should "work" do
|
||
source = Source::Extractor.find("http://www.tinami.com/view/1087271")
|
||
|
||
assert_equal("Shimaken", source.artist_name)
|
||
assert_equal(["Shimaken"], source.other_names)
|
||
assert_equal("https://www.tinami.com/view/1087271", source.page_url)
|
||
assert_equal(%w[
|
||
https://img.tinami.com/illust2/img/458/62351d05dc2d1.jpg
|
||
https://img.tinami.com/illust2/img/658/62351d0645c67.jpg
|
||
https://img.tinami.com/illust2/img/977/62351d06ab068.jpg
|
||
], source.image_urls)
|
||
assert_equal("https://www.tinami.com/creator/profile/27790", source.profile_url)
|
||
assert_equal(%w[オリジナル 女の子 創作 漫画 マンガ ひとしずく 学園 体操服 ブルマ バドミントン], source.tags.map(&:first))
|
||
assert_equal("「ひとしずく」15話", source.artist_commentary_title)
|
||
assert_equal("学園百合漫画「ひとしずく」の15話目です。", source.artist_commentary_desc)
|
||
end
|
||
end
|
||
|
||
context "A 'http://www.tinami.com/view/:id' post with multiple images (type two)" do
|
||
should "work" do
|
||
source = Source::Extractor.find("http://www.tinami.com/view/1087270")
|
||
|
||
assert_equal("セラ箱", source.artist_name)
|
||
assert_equal(["セラ箱"], source.other_names)
|
||
assert_equal("https://www.tinami.com/view/1087270", source.page_url)
|
||
assert_equal(%w[
|
||
https://img.tinami.com/illust2/img/399/623503bb2c686.jpg
|
||
https://img.tinami.com/illust2/img/505/623503bdd064e.jpg
|
||
https://img.tinami.com/illust2/img/140/623503bf50d20.jpg
|
||
https://img.tinami.com/illust2/img/986/623503c0940f5.jpg
|
||
https://img.tinami.com/illust2/img/954/623503c219ee9.jpg
|
||
https://img.tinami.com/illust2/img/655/623503c3646c0.jpg
|
||
https://img.tinami.com/illust2/img/401/623503c4b8171.jpg
|
||
], source.image_urls)
|
||
assert_equal("https://www.tinami.com/creator/profile/38168", source.profile_url)
|
||
assert_equal(%w[Re:ゼロから始める異世界生活 レム リゼロ セラ箱 rizero フィギュア リペイント], source.tags.map(&:first))
|
||
assert_equal("レムのクリアドレス:リゼロ", source.artist_commentary_title)
|
||
assert_equal(<<~EOS.chomp, source.artist_commentary_desc)
|
||
リゼロのレムのプライズをクリアドレス仕様にリペイント。透け透けキラキラな感じに改装してみたものです。
|
||
|
||
>https://youtu.be/nkjZkEALg94
|
||
|
||
製作日記的な動画です( ´∀` )
|
||
|
||
需要ありましたらご笑覧を
|
||
EOS
|
||
end
|
||
end
|
||
|
||
context "A Tinami image URL without a referer" do
|
||
should "work" do
|
||
source = Source::Extractor.find("https://img.tinami.com/illust2/img/647/6234fe5588e97.jpg")
|
||
|
||
assert_nil(source.artist_name)
|
||
assert_nil(source.page_url)
|
||
assert_equal(["https://img.tinami.com/illust2/img/647/6234fe5588e97.jpg"], source.image_urls)
|
||
assert_nil(source.profile_url)
|
||
assert_equal(%w[], source.tags.map(&:first))
|
||
assert_equal("", source.artist_commentary_title)
|
||
assert_equal("", source.artist_commentary_desc)
|
||
end
|
||
end
|
||
|
||
context "A Tinami image URL with a referer" do
|
||
should "work" do
|
||
source = Source::Extractor.find("https://img.tinami.com/illust2/img/647/6234fe5588e97.jpg", "http://www.tinami.com/view/1087268")
|
||
|
||
assert_equal("みぐめ", source.artist_name)
|
||
assert_equal(["みぐめ"], source.other_names)
|
||
assert_equal("https://www.tinami.com/view/1087268", source.page_url)
|
||
assert_equal(["https://img.tinami.com/illust2/img/647/6234fe5588e97.jpg"], source.image_urls)
|
||
assert_equal("https://www.tinami.com/creator/profile/66493", source.profile_url)
|
||
assert_equal(%w[横顔 アナログ ボールペン SP], source.tags.map(&:first))
|
||
assert_equal("横顔", source.artist_commentary_title)
|
||
assert_equal("横顔", source.artist_commentary_desc)
|
||
end
|
||
end
|
||
|
||
context "A deleted Tinami post" do
|
||
should "work" do
|
||
source = Source::Extractor.find("http://www.tinami.com/view/774077")
|
||
|
||
assert_nil(source.artist_name)
|
||
assert_equal("https://www.tinami.com/view/774077", source.page_url)
|
||
assert_equal([], source.image_urls)
|
||
assert_nil(source.profile_url)
|
||
assert_equal(%w[], source.tags.map(&:first))
|
||
assert_equal("", source.artist_commentary_title)
|
||
assert_equal("", source.artist_commentary_desc)
|
||
end
|
||
end
|
||
|
||
should "Parse Tinami URLs correctly" do
|
||
assert(Source::URL.image_url?("https://img.tinami.com/illust/img/287/497c8a9dc60e6.jpg"))
|
||
assert(Source::URL.image_url?("https://img.tinami.com/comic/naomao/naomao_001_01.jpg"))
|
||
assert(Source::URL.image_url?("https://www.tinami.com/view/tweet/card/461459"))
|
||
|
||
assert(Source::URL.page_url?("https://www.tinami.com/view/461459"))
|
||
|
||
assert(Source::URL.profile_url?("http://www.tinami.com/creator/profile/1624"))
|
||
assert(Source::URL.profile_url?("https://www.tinami.com/search/list?prof_id=1624"))
|
||
|
||
refute(Source::URL.profile_url?("http://www.tinami.com/profile/1182"))
|
||
end
|
||
end
|
||
end
|
||
end
|