search: refactor PostQueryBuilder class methods into instance methods.
* Make scan_query, parse_query, normalize_query into instance methods instead of class methods. This is to a) clean up the API and b) prepare for moving certain tag utility methods into PostQueryBuilder. * Fix a few cases where a caller used scan_query when they should have used split_query or parse_tag_edit.
This commit is contained in:
@@ -854,12 +854,12 @@ class PostQueryBuilderTest < ActiveSupport::TestCase
|
||||
should "work" do
|
||||
create(:tag_alias, antecedent_name: "gray", consequent_name: "grey")
|
||||
|
||||
assert_equal("foo", PostQueryBuilder.normalize_query("foo"))
|
||||
assert_equal("foo", PostQueryBuilder.normalize_query(" foo "))
|
||||
assert_equal("foo", PostQueryBuilder.normalize_query("FOO"))
|
||||
assert_equal("foo", PostQueryBuilder.normalize_query("foo foo"))
|
||||
assert_equal("grey", PostQueryBuilder.normalize_query("gray"))
|
||||
assert_equal("aaa bbb", PostQueryBuilder.normalize_query("bbb aaa"))
|
||||
assert_equal("foo", PostQueryBuilder.new("foo").normalize_query)
|
||||
assert_equal("foo", PostQueryBuilder.new(" foo ").normalize_query)
|
||||
assert_equal("foo", PostQueryBuilder.new("FOO").normalize_query)
|
||||
assert_equal("foo", PostQueryBuilder.new("foo foo").normalize_query)
|
||||
assert_equal("grey", PostQueryBuilder.new("gray").normalize_query)
|
||||
assert_equal("aaa bbb", PostQueryBuilder.new("bbb aaa").normalize_query)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -93,13 +93,13 @@ class TagTest < ActiveSupport::TestCase
|
||||
|
||||
context "A tag parser" do
|
||||
should "scan a query" do
|
||||
assert_equal(%w(aaa bbb), PostQueryBuilder.split_query("aaa bbb"))
|
||||
assert_equal(%w(~aaa -bbb* -bbb*), PostQueryBuilder.split_query("~AAa -BBB* -bbb*"))
|
||||
assert_equal(%w(aaa bbb), PostQueryBuilder.new("aaa bbb").split_query)
|
||||
assert_equal(%w(~aaa -bbb* -bbb*), PostQueryBuilder.new("~AAa -BBB* -bbb*").split_query)
|
||||
end
|
||||
|
||||
should "not strip out valid characters when scanning" do
|
||||
assert_equal(%w(aaa bbb), PostQueryBuilder.split_query("aaa bbb"))
|
||||
assert_equal(%w(favgroup:yondemasu_yo,_azazel-san. pool:ichigo_100%), PostQueryBuilder.split_query("favgroup:yondemasu_yo,_azazel-san. pool:ichigo_100%"))
|
||||
assert_equal(%w(aaa bbb), PostQueryBuilder.new("aaa bbb").split_query)
|
||||
assert_equal(%w(favgroup:yondemasu_yo,_azazel-san. pool:ichigo_100%), PostQueryBuilder.new("favgroup:yondemasu_yo,_azazel-san. pool:ichigo_100%").split_query)
|
||||
end
|
||||
|
||||
should "cast values" do
|
||||
|
||||
Reference in New Issue
Block a user