Files
danbooru/test/unit/sources/tinami_test.rb
evazion 2d83500885 sources: fix dummy names being suggested as other names.
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.
2022-11-21 14:55:10 -06:00

129 lines
6.3 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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