From a68d12bd4534c0f0027917b11394e1d94ff386ff Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 30 Aug 2018 17:37:07 -0500 Subject: [PATCH] autocomplete: fix case sensitivity (#3854). ref: https://github.com/r888888888/danbooru/issues/3854#issuecomment-417366253: --- app/logical/tag_autocomplete.rb | 2 ++ test/models/tag_autocomplete_test.rb | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/app/logical/tag_autocomplete.rb b/app/logical/tag_autocomplete.rb index cf1e4d51c..8a85ae029 100644 --- a/app/logical/tag_autocomplete.rb +++ b/app/logical/tag_autocomplete.rb @@ -10,6 +10,8 @@ module TagAutocomplete end def search(query) + query = Tag.normalize_name(query) + candidates = count_sort( query, search_prefix(query, 3) + diff --git a/test/models/tag_autocomplete_test.rb b/test/models/tag_autocomplete_test.rb index e3fe371a0..fea1f7ed5 100644 --- a/test/models/tag_autocomplete_test.rb +++ b/test/models/tag_autocomplete_test.rb @@ -3,6 +3,13 @@ require 'test_helper' class TagAutocompleteTest < ActiveSupport::TestCase subject { TagAutocomplete } + context "#search" do + should "be case insensitive" do + create(:tag, name: "abcdef", post_count: 1) + assert_equal(["abcdef"], subject.search("A").map(&:name)) + end + end + context "#search_exact" do setup do @tags = [