mirror of
https://github.com/mastodon/mastodon.git
synced 2024-10-20 16:46:08 +00:00
30 lines
838 B
Ruby
30 lines
838 B
Ruby
|
# frozen_string_literal: true
|
|||
|
|
|||
|
require 'rails_helper'
|
|||
|
|
|||
|
describe HashtagNormalizer do
|
|||
|
subject { described_class.new }
|
|||
|
|
|||
|
describe '#normalize' do
|
|||
|
it 'converts full-width Latin characters into basic Latin characters' do
|
|||
|
expect(subject.normalize('Synthwave')).to eq 'synthwave'
|
|||
|
end
|
|||
|
|
|||
|
it 'converts half-width Katakana into Kana characters' do
|
|||
|
expect(subject.normalize('シーサイドライナー')).to eq 'シーサイドライナー'
|
|||
|
end
|
|||
|
|
|||
|
it 'converts modified Latin characters into basic Latin characters' do
|
|||
|
expect(subject.normalize('BLÅHAJ')).to eq 'blahaj'
|
|||
|
end
|
|||
|
|
|||
|
it 'strips out invalid characters' do
|
|||
|
expect(subject.normalize('#foo')).to eq 'foo'
|
|||
|
end
|
|||
|
|
|||
|
it 'keeps valid characters' do
|
|||
|
expect(subject.normalize('a·b')).to eq 'a·b'
|
|||
|
end
|
|||
|
end
|
|||
|
end
|