Maintain case-insensitivity when merging multiple matchers (#213)

When given two regexps, Regexp.union preserves the options set (or not
set) on each regex; this meant that none of the multiline (m),
case-insensitivity (i), or extended syntax (x) options were set.  Our
regexps are written expecting the m, i, and x options were set on all of
them, so we need to make sure that we preserve that behavior.
This commit is contained in:
David Yip
2017-11-13 11:06:02 -06:00
parent e1b7785788
commit 656d54e945
2 changed files with 9 additions and 2 deletions

View File

@ -60,6 +60,13 @@ RSpec.describe Glitch::KeywordMute, type: :model do
expect(matcher =~ 'This is a HOT take').to be_truthy
end
it 'maintains case-insensitivity when combining keywords into a single matcher' do
Glitch::KeywordMute.create!(account: alice, keyword: 'hot')
Glitch::KeywordMute.create!(account: alice, keyword: 'cold')
expect(matcher =~ 'This is a HOT take').to be_truthy
end
it 'matches keywords surrounded by non-alphanumeric ornamentation' do
Glitch::KeywordMute.create!(account: alice, keyword: 'hot')