sources: remove image_url method from base strategy.

Remove the `image_url` method from source strategies. This method would
return only the first image if a source had multiple images. The
`image_urls` method should be used instead. Tests were the main place
that still used `image_url` instead of `image_urls`.

Also make post replacements return an error if replacing with a source
that contains multiple images, instead of just blindly replacing the
post with the first image in the source.
This commit is contained in:
evazion
2022-03-11 01:55:29 -06:00
parent 4701027f45
commit 2f61486ac6
29 changed files with 164 additions and 159 deletions

View File

@@ -1,13 +1,13 @@
module DownloadTestHelper
def assert_downloaded(expected_filesize, source, referer = nil)
strategy = Sources::Strategies.find(source, referer)
file = strategy.download_file!
file = strategy.download_file!(strategy.image_urls.sole)
assert_equal(expected_filesize, file.size, "Tested source URL: #{source}")
end
def assert_rewritten(expected_source, test_source, test_referer = nil)
strategy = Sources::Strategies.find(test_source, test_referer)
rewritten_source = strategy.image_url
rewritten_source = strategy.image_urls.sole
assert_match(expected_source, rewritten_source, "Tested source URL: #{test_source}")
end