require 'test_helper' module Sources class NijieTest < ActiveSupport::TestCase context "The source site for a nijie page" do setup do CurrentUser.user = FactoryGirl.create(:user) CurrentUser.ip_addr = "127.0.0.1" @site = Sources::Site.new("http://nijie.info/view.php?id=213043") @site.get end should "get the image url" do assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) end should "get the profile" do assert_equal("http://nijie.info/members.php?id=728995", @site.profile_url) end should "get the artist name" do assert_equal("莚", @site.artist_name) end should "get the tags" do assert_equal([["眼鏡", "http://nijie.info/search.php?word=%E7%9C%BC%E9%8F%A1"], ["リトルウィッチアカデミア", "http://nijie.info/search.php?word=%E3%83%AA%E3%83%88%E3%83%AB%E3%82%A6%E3%82%A3%E3%83%83%E3%83%81%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%82%A2"], ["アーシュラ先生", "http://nijie.info/search.php?word=%E3%82%A2%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%A9%E5%85%88%E7%94%9F"]], @site.tags) end should "normalize ()characters in tags" do FactoryGirl.create(:tag, :name => "kaga") FactoryGirl.create(:wiki_page, :title => "kaga", :other_names => "加賀(艦これ)") @site = Sources::Site.new("http://nijie.info/view.php?id=208316") @site.get assert_includes(@site.tags.map(&:first), "加賀(艦これ)") assert_includes(@site.translated_tags.map(&:first), "kaga") end should "get the commentary" do title = "ジャージの下は" desc = "「リトルウィッチアカデミア」から無自覚サキュバスぶりを発揮するアーシュラ先生です" assert_equal(title, @site.artist_commentary_title) assert_equal(desc, @site.artist_commentary_desc) end end context "The source site for a nijie referer url" do setup do @site = Sources::Site.new("http://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", referer_url: "https://nijie.info/view_popup.php?id=213043") @site.get end should "get the image url" do assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) end should "get the profile" do assert_equal("http://nijie.info/members.php?id=728995", @site.profile_url) end should "get the artist name" do assert_equal("莚", @site.artist_name) end end context "The source site for a nijie popup" do setup do @site = Sources::Site.new("https://nijie.info/view_popup.php?id=213043") @site.get end should "get the image url" do assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) end should "get the profile" do assert_equal("http://nijie.info/members.php?id=728995", @site.profile_url) end should "get the artist name" do assert_equal("莚", @site.artist_name) end end context "The source site for a nijie gallery" do setup do @site = Sources::Site.new("http://nijie.info/view.php?id=218856") @site.get end should "get the image urls" do urls = %w[ https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png https://pic01.nijie.info/nijie_picture/diff/main/218856_0_236014_20170620101329.png https://pic01.nijie.info/nijie_picture/diff/main/218856_1_236014_20170620101330.png https://pic01.nijie.info/nijie_picture/diff/main/218856_2_236014_20170620101331.png https://pic03.nijie.info/nijie_picture/diff/main/218856_3_236014_20170620101331.png https://pic03.nijie.info/nijie_picture/diff/main/218856_4_236014_20170620101333.png ] assert_equal(urls, @site.image_urls) end should "get the dtext-ified commentary" do desc = <<-EOS.strip_heredoc.chomp foo [b]bold[/b] [i]italics[/i] [s]strike[/s] red http://nijie.info/view.php?id=218944 EOS assert_equal(desc, @site.dtext_artist_commentary_desc) end end end end