Sha256: d3d9dd8d322c0996b9822d2d4be65d9e61e466c20ec48bfbf54ed0a37dac0c6f

Contents?: true

Size: 1.72 KB

Versions: 4

Compression:

Stored size: 1.72 KB

Contents

# encoding: UTF-8

# Copyright 2012 Twitter, Inc
# http://www.apache.org/licenses/LICENSE-2.0

require 'spec_helper'

include TwitterCldr::Tokenizers

describe NumberTokenizer do
  describe "#tokenize" do
    let(:number) { 10 }

    it "gets tokens for a latin language (i.e. Portuguese)" do
      data_reader = NumberDataReader.new(:pt)
      got = data_reader.tokenizer.tokenize(data_reader.pattern(number))
      expected = [
        { :value => "", :type => :plaintext },
        { :value => "#,##0.###", :type => :pattern }
      ]
      check_token_list(got, expected)
    end

    it "gets tokens for a non-latin language (i.e. Russian)" do
      data_reader = NumberDataReader.new(:ru)
      got = data_reader.tokenizer.tokenize(data_reader.pattern(number))
      expected = [
        { :value => "", :type => :plaintext },
        { :value => "#,##0.###", :type => :pattern }
      ]
      check_token_list(got, expected)
    end

    it "correctly parses suffixes (i.e. Russian currency)" do
      data_reader = NumberDataReader.new(:ru, :type => :currency)
      got = data_reader.tokenizer.tokenize(data_reader.pattern(number))
      expected = [
        { :value => "", :type => :plaintext },
        { :value => "#,##0.00", :type => :pattern },
        { :value => " ¤", :type => :plaintext }
      ]
      check_token_list(got, expected)
    end

    it "correctly parses prefixes (i.e. English (American) currency)" do
      data_reader = NumberDataReader.new(:en, :type => :currency)
      got = data_reader.tokenizer.tokenize(data_reader.pattern(number))
      expected = [
        { :value => "¤", :type => :plaintext },
        { :value => "#,##0.00", :type => :pattern }
      ]
      check_token_list(got, expected)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
twitter_cldr-3.0.3 spec/tokenizers/numbers/number_tokenizer_spec.rb
twitter_cldr-3.0.2 spec/tokenizers/numbers/number_tokenizer_spec.rb
twitter_cldr-3.0.1 spec/tokenizers/numbers/number_tokenizer_spec.rb
twitter_cldr-3.0.0 spec/tokenizers/numbers/number_tokenizer_spec.rb