posts: fix exception when searching for "-" or "~".
This commit is contained in:
@@ -1038,7 +1038,9 @@ class PostQueryBuilder
|
|||||||
def parse_tag(tag, output)
|
def parse_tag(tag, output)
|
||||||
operator, tag = parse_tag_operator(tag)
|
operator, tag = parse_tag_operator(tag)
|
||||||
|
|
||||||
if tag.include?("*")
|
if tag.blank?
|
||||||
|
# XXX ignore "-", "~" operators without a tag.
|
||||||
|
elsif tag.include?("*")
|
||||||
tags = Tag.wildcard_matches(tag)
|
tags = Tag.wildcard_matches(tag)
|
||||||
|
|
||||||
if operator == "-"
|
if operator == "-"
|
||||||
|
|||||||
@@ -1962,6 +1962,13 @@ class PostTest < ActiveSupport::TestCase
|
|||||||
assert_tag_match([post2], "-*c -a*a")
|
assert_tag_match([post2], "-*c -a*a")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "ignore invalid operator syntax" do
|
||||||
|
assert_nothing_raised do
|
||||||
|
assert_tag_match([], "-")
|
||||||
|
assert_tag_match([], "~")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
should "return posts for the id:<N> metatag" do
|
should "return posts for the id:<N> metatag" do
|
||||||
posts = FactoryBot.create_list(:post, 3)
|
posts = FactoryBot.create_list(:post, 3)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user