sources: add image_url?, page_url?, and profile_url? methods.

Add methods to Source::URL for determining whether a URL is an image
URL, a page URL, or a profile URL.

Also add more source URL tests and fix various URL parsing bugs.
This commit is contained in:
evazion
2022-05-01 17:55:58 -05:00
parent d54ad9103b
commit 23b8350320
47 changed files with 571 additions and 165 deletions

View File

@@ -41,5 +41,14 @@ module Sources
context "A deleted or non-existing furaffinity post" do
strategy_should_work("https://www.furaffinity.net/view/3404111", deleted: true, profile_url: nil)
end
should "Parse Furaffinity URLs correctly" do
assert(Source::URL.image_url?("https://d.furaffinity.net/art/iwbitu/1650222955/1650222955.iwbitu_yubi.jpg"))
assert(Source::URL.page_url?("https://www.furaffinity.net/view/46821705/"))
assert(Source::URL.page_url?("https://www.furaffinity.net/full/46821705/"))
assert(Source::URL.profile_url?("https://www.furaffinity.net/user/iwbitu"))
assert(Source::URL.profile_url?("https://www.furaffinity.net/gallery/iwbitu"))
assert(Source::URL.profile_url?("https://www.furaffinity.net/gallery/iwbitu/folder/133763/Regular-commissions"))
end
end
end