SECURITY: Escape watched word in error message (#14434)

This commit is contained in:
Bianca Nenciu
2021-09-24 11:55:15 +03:00
committed by GitHub
parent e5754dedf4
commit 1f57b29147
3 changed files with 12 additions and 4 deletions

View File

@ -32,6 +32,14 @@ describe WatchedWord do
}.to_not change { Post.count }
end
it "escapes the blocked word in error message" do
block_word = Fabricate(:watched_word, action: WatchedWord.actions[:block], word: "<a>")
manager = NewPostManager.new(tl2_user, raw: "Want some #{block_word.word} for cheap?", topic_id: topic.id)
result = manager.perform
expect(result).to_not be_success
expect(result.errors[:base]&.first).to eq(I18n.t('contains_blocked_word', word: "&lt;a&gt;"))
end
it "should prevent the post from being created" do
manager = NewPostManager.new(tl2_user, raw: "Want some #{block_word.word} for cheap?", topic_id: topic.id)
should_block_post(manager)