Fix #3384: Fetch commentary not creating fully formed textile links
This commit is contained in:
@@ -44,6 +44,13 @@ module Sources
|
|||||||
DText.from_html(text) do |element|
|
DText.from_html(text) do |element|
|
||||||
if element.name == "a" && element["href"].present?
|
if element.name == "a" && element["href"].present?
|
||||||
element["href"] = element["href"].gsub(%r!\Ahttps?://www\.deviantart\.com/users/outgoing\?!i, "")
|
element["href"] = element["href"].gsub(%r!\Ahttps?://www\.deviantart\.com/users/outgoing\?!i, "")
|
||||||
|
|
||||||
|
# href may be missing the `http://` bit (ex: `inprnt.com`, `//inprnt.com`). Add it if missing.
|
||||||
|
uri = Addressable::URI.heuristic_parse(element["href"]) rescue nil
|
||||||
|
if uri.present?
|
||||||
|
uri.scheme ||= "http"
|
||||||
|
element["href"] = uri.to_s
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -82,5 +82,14 @@ module Sources
|
|||||||
assert_equal("http://orig14.deviantart.net/cb25/f/2017/160/1/9/hidden_work_by_noizave-dbc3r29.png", @site.image_url)
|
assert_equal("http://orig14.deviantart.net/cb25/f/2017/160/1/9/hidden_work_by_noizave-dbc3r29.png", @site.image_url)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "A source with malformed links in the artist commentary" do
|
||||||
|
should "fix the links" do
|
||||||
|
@site = Sources::Site.new("https://teemutaiga.deviantart.com/art/Kisu-620666655")
|
||||||
|
@site.get
|
||||||
|
|
||||||
|
assert_match(%r!"Print available at Inprnt":\[http://www.inprnt.com/gallery/teemutaiga/kisu\]!, @site.dtext_artist_commentary_desc)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user