Fix #4440: Whitespace not trimmed when searching by URL in Artists.

This commit is contained in:
evazion
2020-05-04 03:36:26 -05:00
parent 5feb29ba57
commit 86e3bd8fbc
2 changed files with 10 additions and 0 deletions

View File

@@ -222,6 +222,8 @@ class Artist < ApplicationRecord
end
def url_matches(query)
query = query.strip
if query =~ %r!\A/(.*)/\z!
where(id: ArtistUrl.where_regex(:url, $1).select(:artist_id))
elsif query.include?("*")
@@ -234,6 +236,8 @@ class Artist < ApplicationRecord
end
def any_name_or_url_matches(query)
query = query.strip
if query =~ %r!\Ahttps?://!i
url_matches(query)
else

View File

@@ -142,6 +142,12 @@ class ArtistsControllerTest < ActionDispatch::IntegrationTest
get artists_path(search: { url_matches: url }, format: "json")
assert_artist_found("masao")
end
should "ignore whitespace when searching by URL" do
url = " http://www.pixiv.net/member_illust.php?mode=medium&illust_id=46170939 "
get artists_path(search: { url_matches: url }, format: "json")
assert_artist_found("masao")
end
end
end