Fix: #703 NGワード、センシティブワード「無関係なフォロワーへのメンション」が、自分自身へのメンションにも適用される (#704)

This commit is contained in:
KMY(雪あすか) 2024-04-09 09:02:50 +09:00 committed by GitHub
parent c147b6dc37
commit 44af34f306
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 6 deletions

View file

@ -666,6 +666,18 @@ RSpec.describe PostStatusService do
expect(status.text).to eq text
end
it 'does not hit ng words for mention to self' do
account = Fabricate(:account, username: 'cool', domain: nil)
text = 'ng word test @cool'
Form::AdminSettings.new(stranger_mention_from_local_ng: '1').save
Fabricate(:ng_word, keyword: 'test', stranger: true)
status = subject.call(account, text: text)
expect(status).to be_persisted
expect(status.text).to eq text
end
it 'hit ng words for reply' do
account = Fabricate(:account)
text = 'ng word test'
@ -728,6 +740,19 @@ RSpec.describe PostStatusService do
expect(status.text).to eq text
end
it 'does not hit ng words for reference to self' do
target_status = Fabricate(:status)
account = target_status.account
text = "ng word test BT: #{ActivityPub::TagManager.instance.uri_for(target_status)}"
Form::AdminSettings.new(stranger_mention_from_local_ng: '1').save
Fabricate(:ng_word, keyword: 'test', stranger: true)
status = subject.call(account, text: text)
expect(status).to be_persisted
expect(status.text).to eq text
end
it 'using hashtag under limit' do
account = Fabricate(:account)
text = '#a #b'