Fix #5292: post edit tag_string - unquoted metatag value trailing escapes aren't parsed correctly when last term

This commit is contained in:
evazion
2022-10-12 19:33:19 -05:00
parent 49d0842f00
commit 0831b8dc9a
2 changed files with 26 additions and 1 deletions

View File

@@ -785,6 +785,31 @@ class PostTest < ActiveSupport::TestCase
assert_equal([@post.id], @pool.post_ids)
assert_equal("aaa bbb", @post.tag_string)
end
should "parse trailing backslash-escaped spaces correctly" do
@post.update!(tag_string: " a b c ")
assert_equal("a b c", @post.tag_string)
@post.update!(tag_string: 'newpool:b\ a')
assert_equal("a", @post.tag_string)
assert_equal("b", Pool.last.name)
@post.update!(tag_string: 'a newpool:c\ ')
assert_equal("a", @post.tag_string)
assert_equal("c", Pool.last.name)
@post.update!(tag_string: 'a newpool:d\ ')
assert_equal("a", @post.tag_string)
assert_equal("d", Pool.last.name)
@post.update!(tag_string: 'newpool:e\ a')
assert_equal("tagme", @post.tag_string)
assert_equal("e_a", Pool.last.name)
@post.update!(tag_string: 'a newpool:f\\')
assert_equal("a", @post.tag_string)
assert_equal("f\\", Pool.last.name)
end
end
context "for a rating" do