Fix hashtags not being picked up when full-width hash sign is used (#36103)

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Eugen Rochko 2025-10-27 18:18:01 +01:00 committed by GitHub
parent 402686c76c
commit 76053fb4a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 27 additions and 10 deletions

View file

@ -35,12 +35,24 @@ RSpec.describe Extractor do
end
describe 'extract_hashtags_with_indices' do
it 'returns an empty array if it does not have #' do
it 'returns an empty array if it does not have # or ' do
text = 'a string without hash sign'
extracted = described_class.extract_hashtags_with_indices(text)
expect(extracted).to eq []
end
it 'returns hashtags preceded by an ASCII hash' do
text = 'hello #world'
extracted = described_class.extract_hashtags_with_indices(text)
expect(extracted).to eq [{ hashtag: 'world', indices: [6, 12] }]
end
it 'returns hashtags preceded by a full-width hash' do
text = 'hello world'
extracted = described_class.extract_hashtags_with_indices(text)
expect(extracted).to eq [{ hashtag: 'world', indices: [6, 12] }]
end
it 'does not exclude normal hash text before ://' do
text = '#hashtag://'
extracted = described_class.extract_hashtags_with_indices(text)

View file

@ -84,6 +84,10 @@ RSpec.describe Tag do
expect(subject.match('this is #').to_s).to eq '#'
end
it 'matches ' do
expect(subject.match('this is ').to_s).to eq ''
end
it 'matches digits at the start' do
expect(subject.match('hello #3d').to_s).to eq '#3d'
end