spec/utils/code_points_spec.rb (45 lines of code) (raw):

# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 require 'spec_helper' describe TwitterCldr::Utils::CodePoints do describe '#to_char' do it 'converts unicode code points to the actual character' do expect(TwitterCldr::Utils::CodePoints.to_char(0x221E)).to eq('∞') end end describe '#from_char' do it 'converts a character to a unicode code point' do expect(TwitterCldr::Utils::CodePoints.from_char('∞')).to eq(0x221E) end end describe '#to_chars' do it 'should handle an empty array' do expect(TwitterCldr::Utils::CodePoints.to_chars([])).to eq([]) end it 'converts an array of unicode code points to an array of chars' do expect(TwitterCldr::Utils::CodePoints.to_chars([0x65, 0x73, 0x70])).to eq(%w[e s p]) end end describe '#from_chars' do it 'should handle an empty array' do expect(TwitterCldr::Utils::CodePoints.from_chars([])).to eq([]) end it 'converts an array of chars to an array of unicode code points' do expect(TwitterCldr::Utils::CodePoints.from_chars(%w[e s p])).to eq([0x65, 0x73, 0x70]) end end describe '#to_string' do it 'should handle an empty array' do expect(TwitterCldr::Utils::CodePoints.to_string([])).to eq('') end it 'converts an array of unicode code points to a string' do expect(TwitterCldr::Utils::CodePoints.to_string([0x65, 0x73, 0x70, 0x61, 0xF1, 0x6F, 0x6C])).to eq('español') end end describe '#from_string' do it 'should handle an empty string' do expect(TwitterCldr::Utils::CodePoints.from_string('')).to eq([]) end it 'converts a string into an array of unicode code points' do expect(TwitterCldr::Utils::CodePoints.from_string('español')).to eq([0x65, 0x73, 0x70, 0x61, 0xF1, 0x6F, 0x6C]) end end end