hashtag_normalizer_spec.rb 838 B

1234567891011121314151617181920212223242526272829
  1. # frozen_string_literal: true
  2. require 'rails_helper'
  3. describe HashtagNormalizer do
  4. subject { described_class.new }
  5. describe '#normalize' do
  6. it 'converts full-width Latin characters into basic Latin characters' do
  7. expect(subject.normalize('Synthwave')).to eq 'synthwave'
  8. end
  9. it 'converts half-width Katakana into Kana characters' do
  10. expect(subject.normalize('シーサイドライナー')).to eq 'シーサイドライナー'
  11. end
  12. it 'converts modified Latin characters into basic Latin characters' do
  13. expect(subject.normalize('BLÅHAJ')).to eq 'blahaj'
  14. end
  15. it 'strips out invalid characters' do
  16. expect(subject.normalize('#foo')).to eq 'foo'
  17. end
  18. it 'keeps valid characters' do
  19. expect(subject.normalize('a·b')).to eq 'a·b'
  20. end
  21. end
  22. end