diff options
author | David Yip <yipdw@member.fsf.org> | 2017-11-13 11:06:02 -0600 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-11-13 11:06:02 -0600 |
commit | 656d54e9451dc99e212513b799a4deb4d1227bf0 (patch) | |
tree | f1269f1ccc89ae14d119ed97a1eeaf121c14b6c7 /spec/models/glitch | |
parent | e1b7785788aa3887b06a5b2b10731b4b5d66d7e3 (diff) |
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.
Diffstat (limited to 'spec/models/glitch')
-rw-r--r-- | spec/models/glitch/keyword_mute_spec.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/spec/models/glitch/keyword_mute_spec.rb b/spec/models/glitch/keyword_mute_spec.rb index 1423823ba..9685c6493 100644 --- a/spec/models/glitch/keyword_mute_spec.rb +++ b/spec/models/glitch/keyword_mute_spec.rb @@ -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') |