twitter_cldr 2.4.3 → 3.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,7 +107,7 @@ describe Collator do
107
107
  before(:each) { mock(TrieLoader).load_default_trie { trie } }
108
108
 
109
109
  describe 'calculating sort key' do
110
- before(:each) { mock(TwitterCldr::Collation::SortKeyBuilder).build(collation_elements, nil) { sort_key } }
110
+ before(:each) { mock(TwitterCldr::Collation::SortKeyBuilder).build(collation_elements, :case_first => nil, :maximum_level => nil) { sort_key } }
111
111
 
112
112
  it 'calculates sort key for a string' do
113
113
  mock(collator).get_collation_elements(string) { collation_elements }
@@ -121,9 +121,10 @@ describe Collator do
121
121
  end
122
122
 
123
123
  describe 'uses tailoring options' do
124
- let(:case_first) { :upper }
125
- let(:locale) { :uk }
126
-
124
+ let(:case_first) { :upper }
125
+ let(:locale) { :uk }
126
+ let(:maximum_level) { 2 }
127
+
127
128
  it 'passes case-first sort option to sort key builder' do
128
129
  mock(TwitterCldr::Collation::TrieLoader).load_tailored_trie(locale, trie) { Trie.new }
129
130
  mock(TwitterCldr::Collation::TrieBuilder).tailoring_data(locale) { { :collator_options => { :case_first => case_first } } }
@@ -131,10 +132,23 @@ describe Collator do
131
132
  collator = Collator.new(locale)
132
133
 
133
134
  mock(collator).get_collation_elements(code_points) { collation_elements }
134
- mock(TwitterCldr::Collation::SortKeyBuilder).build(collation_elements, case_first) { sort_key }
135
+ mock(TwitterCldr::Collation::SortKeyBuilder).build(collation_elements, :case_first => case_first, :maximum_level => nil) { sort_key }
135
136
 
136
137
  collator.get_sort_key(code_points).should == sort_key
137
138
  end
139
+
140
+ it 'passes maximum_level option to sort key builder' do
141
+ mock(TwitterCldr::Collation::TrieLoader).load_tailored_trie(locale, trie) { Trie.new }
142
+ mock(TwitterCldr::Collation::TrieBuilder).tailoring_data(locale) { { :collator_options => { :case_first => case_first } } }
143
+
144
+ collator = Collator.new(locale)
145
+
146
+ mock(collator).get_collation_elements(code_points) { collation_elements }
147
+ mock(TwitterCldr::Collation::SortKeyBuilder).build(collation_elements, :case_first => case_first, :maximum_level => maximum_level) { sort_key }
148
+
149
+ collator.get_sort_key(code_points, :maximum_level => maximum_level).should == sort_key
150
+ end
151
+
138
152
  end
139
153
  end
140
154
 
@@ -29,14 +29,22 @@ describe SortKeyBuilder do
29
29
  SortKeyBuilder.new(collation_elements).collation_elements.should == collation_elements
30
30
  end
31
31
 
32
- it 'accepts case-first option as the second argument' do
32
+ it 'accepts case-first option as an option' do
33
33
  SortKeyBuilder::VALID_CASE_FIRST_OPTIONS.each do |case_first|
34
- lambda { SortKeyBuilder.new([], case_first) }.should_not raise_error
34
+ lambda { SortKeyBuilder.new([], :case_first => case_first) }.should_not raise_error
35
35
  end
36
36
  end
37
37
 
38
38
  it 'raises an ArgumentError for invalid case-first option' do
39
- lambda { SortKeyBuilder.new([], :wat) }.should raise_error(ArgumentError)
39
+ lambda { SortKeyBuilder.new([], :case_first => :wat) }.should raise_error(ArgumentError)
40
+ end
41
+
42
+ it 'raises an ArgumentError for an invalid maximum_level option' do
43
+ lambda { SortKeyBuilder.new([], :maximum_level => :wat) }.should raise_error(ArgumentError)
44
+ end
45
+
46
+ it 'raises an ArgumentError for non-hash second argument' do
47
+ lambda { SortKeyBuilder.new([], :upper) }.should raise_error(ArgumentError)
40
48
  end
41
49
  end
42
50
 
@@ -103,32 +111,46 @@ describe SortKeyBuilder do
103
111
 
104
112
  context 'when case_first is :upper' do
105
113
  it 'inverts case bits and subtract bottom addition from bytes that are smaller than common' do
106
- SortKeyBuilder.new([[0, 0, 9], [0, 0, 80], [0, 0, 143]], :upper).bytes_array.should == [1, 1, 201, 80, 15]
114
+ SortKeyBuilder.new([[0, 0, 9], [0, 0, 80], [0, 0, 143]], :case_first => :upper).bytes_array.should == [1, 1, 201, 80, 15]
107
115
  end
108
116
 
109
117
  it 'compresses tertiary weights' do
110
- SortKeyBuilder.new([[0, 0, 5], [0, 0, 5], [0, 0, 39], [0, 0, 5], [0, 0, 5]], :upper).bytes_array.should == [1, 1, 0xC4, 0xE7, 0xC3]
118
+ SortKeyBuilder.new([[0, 0, 5], [0, 0, 5], [0, 0, 39], [0, 0, 5], [0, 0, 5]], :case_first => :upper).bytes_array.should == [1, 1, 0xC4, 0xE7, 0xC3]
111
119
  end
112
120
 
113
121
  it 'compresses tertiary weights into multiple bytes if necessary' do
114
- SortKeyBuilder.new([[0, 0, 5]] * 100, :upper).bytes_array.should == [1, 1, 0x9C, 0x9C, 0xB3]
122
+ SortKeyBuilder.new([[0, 0, 5]] * 100, :case_first => :upper).bytes_array.should == [1, 1, 0x9C, 0x9C, 0xB3]
115
123
  end
116
124
  end
117
125
 
118
126
  context 'when case_first is :lower' do
119
127
  it 'leaves case bits and adds top addition to bytes that are greater than common' do
120
- SortKeyBuilder.new([[0, 0, 9], [0, 0, 80], [0, 0, 143]], :lower).bytes_array.should == [1, 1, 73, 144, 207]
128
+ SortKeyBuilder.new([[0, 0, 9], [0, 0, 80], [0, 0, 143]], :case_first => :lower).bytes_array.should == [1, 1, 73, 144, 207]
121
129
  end
122
130
 
123
131
  it 'compresses tertiary weights' do
124
- SortKeyBuilder.new([[0, 0, 5], [0, 0, 5], [0, 0, 39], [0, 0, 5], [0, 0, 5]], :lower).bytes_array.should == [1, 1, 0x44, 0x67, 6]
132
+ SortKeyBuilder.new([[0, 0, 5], [0, 0, 5], [0, 0, 39], [0, 0, 5], [0, 0, 5]], :case_first => :lower).bytes_array.should == [1, 1, 0x44, 0x67, 6]
125
133
  end
126
134
 
127
135
  it 'compresses tertiary weights into multiple bytes if necessary' do
128
- SortKeyBuilder.new([[0, 0, 5]] * 100, :lower).bytes_array.should == [1, 1, 0x1A, 0x1A, 0x1A, 0x1A, 0x14]
136
+ SortKeyBuilder.new([[0, 0, 5]] * 100, :case_first => :lower).bytes_array.should == [1, 1, 0x1A, 0x1A, 0x1A, 0x1A, 0x14]
129
137
  end
130
138
  end
131
139
  end
140
+
141
+ describe ":maximum_level option" do
142
+ context "when :maximum_level is 2" do
143
+ it 'does not include tertiary weights' do
144
+ SortKeyBuilder.new([[63, 13, 149], [66, 81, 143]], :maximum_level => 2).bytes_array.should == [63, 66, 1, 13, 81]
145
+ end
146
+ end
147
+ context "when :maximum_level is 1" do
148
+ it 'only includes primary weights' do
149
+ SortKeyBuilder.new([[63, 13, 149], [66, 81, 143]], :maximum_level => 1).bytes_array.should == [63, 66]
150
+ end
151
+ end
152
+ end
153
+
132
154
  end
133
155
 
134
156
  end
@@ -17,6 +17,10 @@ describe 'Unicode Normalization Algorithms' do
17
17
  FULL_NORMALIZATION_TEST_URL = 'http://unicode.org/Public/UNIDATA/NormalizationTest.txt'
18
18
 
19
19
  shared_examples_for 'a normalization algorithm' do
20
+ before(:each) do
21
+ TwitterCldr::Shared::CodePoint.send(:block_cache).clear
22
+ end
23
+
20
24
  it 'passes all the tests in NormalizationTestShort.txt' do
21
25
  run_test(described_class, invariants, SHORT_NORMALIZATION_TEST_PATH)
22
26
  end
@@ -144,12 +144,13 @@ describe CodePoint do
144
144
 
145
145
  describe "#hangul_type" do
146
146
  before(:each) do
147
+ # CodePoint.instance_variable_set(:'@hangul_type_cache', {})
147
148
  stub(CodePoint).hangul_blocks {
148
149
  {
149
- :lparts => [1..10],
150
- :vparts => [21..30],
151
- :tparts => [41..50],
152
- :compositions => [1..50]
150
+ :lparts => [1..10],
151
+ :vparts => [21..30],
152
+ :tparts => [41..50],
153
+ :compositions => [1..50]
153
154
  }
154
155
  }
155
156
  end
@@ -182,6 +183,10 @@ describe CodePoint do
182
183
  end
183
184
 
184
185
  describe "#get_block" do
186
+ before(:each) do
187
+ CodePoint.send(:block_cache).clear
188
+ end
189
+
185
190
  it "finds the block that corresponds to the code point" do
186
191
  stub(TwitterCldr).get_resource(:unicode_data, :blocks) { [[:klingon, 122..307], [:hirogen, 1337..2200]] }
187
192
  CodePoint.send(:get_block, 200).should == [:klingon, 122..307]
@@ -183,40 +183,38 @@ describe TwitterCldr::Utils do
183
183
  end
184
184
 
185
185
  it "tests successful roundtrip of multi-byte characters" do
186
- if RUBY_VERSION < "2.0.0" && RUBY_PLATFORM != "java"
187
- [
188
- 0x80,
189
- 0x85,
190
- 0xa0,
191
- 0x07ff,
192
- 0x0800,
193
- 0x0fff,
194
- 0x1000,
195
- 0x2028,
196
- 0x2029,
197
- 0xcfff,
198
- 0xd000,
199
- 0xd7ff,
200
- 0xe000,
201
- 0xfffd,
202
- 0x10000,
203
- 0x3ffff,
204
- 0x40000,
205
- 0xfffff,
206
- 0x100000,
207
- 0x10ffff,
208
- ].each do |ucs_code|
209
- [-1, 0, 1].each do |ofs|
210
- (c = [ucs_code + ofs].pack('U'))
211
- next unless c.valid_encoding? if c.respond_to? :valid_encoding?
212
- y = c.localize.to_yaml(
213
- :escape_b_specific => true,
214
- :escape_as_utf8 => true
215
- )
216
-
217
- r = YAML.load(y)
218
- (c == "\xc2\x85" ? "\n" : c).should == r # "\N" is normalized as "\n"
219
- end
186
+ [
187
+ 0x80,
188
+ 0x85,
189
+ 0xa0,
190
+ 0x07ff,
191
+ 0x0800,
192
+ 0x0fff,
193
+ 0x1000,
194
+ 0x2028,
195
+ 0x2029,
196
+ 0xcfff,
197
+ 0xd000,
198
+ 0xd7ff,
199
+ 0xe000,
200
+ 0xfffd,
201
+ 0x10000,
202
+ 0x3ffff,
203
+ 0x40000,
204
+ 0xfffff,
205
+ 0x100000,
206
+ 0x10ffff,
207
+ ].each do |ucs_code|
208
+ [-1, 0, 1].each do |ofs|
209
+ (c = [ucs_code + ofs].pack('U'))
210
+ next unless c.valid_encoding? if c.respond_to? :valid_encoding?
211
+ c_hex = c.unpack('H8')
212
+ y = c.localize.to_yaml(
213
+ :escape_b_specific => true,
214
+ :escape_as_utf8 => true
215
+ )
216
+ r = YAML.load(y)
217
+ (c == "\xc2\x85" ? "\n" : c).should == r # "\N" is normalized as "\n"
220
218
  end
221
219
  end
222
220
  end
@@ -285,34 +283,27 @@ describe TwitterCldr::Utils do
285
283
  src = (c.class == String) ? (c + ext) : c
286
284
  y = TwitterCldr::Utils::YAML.dump(src, :escape_as_utf8 => true)
287
285
  r = YAML.load(y)
288
-
289
- if (RUBY_VERSION >= "2.0.0" || RUBY_PLATFORM == "java") && c.is_a?(String) && c.downcase == "null"
290
- src.should == c + ext
291
- else
292
- src.should == r
293
- end
286
+ src.should == r
294
287
  end
295
288
  end
296
289
  end
297
290
 
298
291
  it "tests successfull roundtrip for a few special characters" do
299
- if RUBY_VERSION < "2.0.0" && RUBY_PLATFORM != "java"
300
- chars = "aあ\t\-\?,\[\{\#&\*!\|>'\"\%\@\`.\\ \n\xc2\xa0\xe2\x80\xa8".split('')
301
-
302
- chars.each do |i|
303
- chars.each do |j|
304
- chars.each do |k|
305
- src = [i, j, k].join
306
- y = TwitterCldr::Utils::YAML.dump(src,
307
- :printable_with_syck => true,
308
- :escape_b_specific => true,
309
- :escape_as_utf8 => true
310
- )
311
- r = YAML.load(y)
312
- src.should == r
313
- end
314
- end
315
- end
292
+ chars = "aあ\t\-\?,\[\{\#&\*!\|>'\"\%\@\`.\\ \n\xc2\xa0\xe2\x80\xa8".split('')
293
+
294
+ chars.each do |i|
295
+ chars.each do |j|
296
+ chars.each do |k|
297
+ src = [i, j, k].join
298
+ y = TwitterCldr::Utils::YAML.dump(src,
299
+ :printable_with_syck => true,
300
+ :escape_b_specific => true,
301
+ :escape_as_utf8 => true
302
+ )
303
+ r = YAML.load(y)
304
+ src.should == r
305
+ end
306
+ end
316
307
  end
317
308
  end
318
309
 
@@ -422,11 +413,9 @@ describe TwitterCldr::Utils do
422
413
  end
423
414
 
424
415
  it "guards against circular references" do
425
- if RUBY_PLATFORM != "java"
426
- a = []
427
- a << a
428
- lambda { TwitterCldr::Utils::YAML.dump(a) }.should raise_error(ArgumentError)
429
- end
416
+ a = []
417
+ a << a
418
+ lambda { TwitterCldr::Utils::YAML.dump(a) }.should raise_error(ArgumentError)
430
419
  end
431
420
 
432
421
  it "tests binary dumps" do
@@ -442,4 +431,4 @@ describe TwitterCldr::Utils do
442
431
  end
443
432
 
444
433
  end
445
- end
434
+ end
data/twitter_cldr.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.summary = "Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more."
16
16
 
17
17
  s.add_dependency 'json'
18
+ s.add_dependency 'hamster'
18
19
  s.add_dependency 'tzinfo'
19
20
 
20
21
  s.require_path = 'lib'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_cldr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.3
4
+ version: 3.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-23 00:00:00.000000000 Z
11
+ date: 2013-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: hamster
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: tzinfo
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -46,14 +60,6 @@ executables: []
46
60
  extensions: []
47
61
  extra_rdoc_files: []
48
62
  files:
49
- - Gemfile
50
- - History.txt
51
- - LICENSE
52
- - NOTICE
53
- - README.md
54
- - Rakefile
55
- - lib/twitter_cldr.rb
56
- - lib/twitter_cldr/collation.rb
57
63
  - lib/twitter_cldr/collation/collator.rb
58
64
  - lib/twitter_cldr/collation/implicit_collation_elements.rb
59
65
  - lib/twitter_cldr/collation/sort_key_builder.rb
@@ -61,15 +67,14 @@ files:
61
67
  - lib/twitter_cldr/collation/trie_builder.rb
62
68
  - lib/twitter_cldr/collation/trie_loader.rb
63
69
  - lib/twitter_cldr/collation/trie_with_fallback.rb
70
+ - lib/twitter_cldr/collation.rb
64
71
  - lib/twitter_cldr/core_ext.rb
65
- - lib/twitter_cldr/formatters.rb
66
72
  - lib/twitter_cldr/formatters/base.rb
67
73
  - lib/twitter_cldr/formatters/calendars/date_formatter.rb
68
74
  - lib/twitter_cldr/formatters/calendars/datetime_formatter.rb
69
75
  - lib/twitter_cldr/formatters/calendars/time_formatter.rb
70
76
  - lib/twitter_cldr/formatters/calendars/timespan_formatter.rb
71
77
  - lib/twitter_cldr/formatters/list_formatter.rb
72
- - lib/twitter_cldr/formatters/numbers.rb
73
78
  - lib/twitter_cldr/formatters/numbers/abbreviated/abbreviated_number_formatter.rb
74
79
  - lib/twitter_cldr/formatters/numbers/abbreviated/long_decimal_formatter.rb
75
80
  - lib/twitter_cldr/formatters/numbers/abbreviated/short_decimal_formatter.rb
@@ -80,10 +85,11 @@ files:
80
85
  - lib/twitter_cldr/formatters/numbers/helpers/integer.rb
81
86
  - lib/twitter_cldr/formatters/numbers/number_formatter.rb
82
87
  - lib/twitter_cldr/formatters/numbers/percent_formatter.rb
83
- - lib/twitter_cldr/formatters/plurals.rb
88
+ - lib/twitter_cldr/formatters/numbers.rb
84
89
  - lib/twitter_cldr/formatters/plurals/plural_formatter.rb
85
90
  - lib/twitter_cldr/formatters/plurals/rules.rb
86
- - lib/twitter_cldr/localized.rb
91
+ - lib/twitter_cldr/formatters/plurals.rb
92
+ - lib/twitter_cldr/formatters.rb
87
93
  - lib/twitter_cldr/localized/localized_array.rb
88
94
  - lib/twitter_cldr/localized/localized_date.rb
89
95
  - lib/twitter_cldr/localized/localized_datetime.rb
@@ -94,16 +100,17 @@ files:
94
100
  - lib/twitter_cldr/localized/localized_symbol.rb
95
101
  - lib/twitter_cldr/localized/localized_time.rb
96
102
  - lib/twitter_cldr/localized/localized_timespan.rb
97
- - lib/twitter_cldr/normalization.rb
103
+ - lib/twitter_cldr/localized.rb
98
104
  - lib/twitter_cldr/normalization/base.rb
99
105
  - lib/twitter_cldr/normalization/hangul.rb
100
106
  - lib/twitter_cldr/normalization/nfc.rb
101
107
  - lib/twitter_cldr/normalization/nfd.rb
102
108
  - lib/twitter_cldr/normalization/nfkc.rb
103
109
  - lib/twitter_cldr/normalization/nfkd.rb
104
- - lib/twitter_cldr/parsers.rb
110
+ - lib/twitter_cldr/normalization/quick_check.rb
111
+ - lib/twitter_cldr/normalization.rb
105
112
  - lib/twitter_cldr/parsers/number_parser.rb
106
- - lib/twitter_cldr/resources.rb
113
+ - lib/twitter_cldr/parsers.rb
107
114
  - lib/twitter_cldr/resources/bidi_test_importer.rb
108
115
  - lib/twitter_cldr/resources/canonical_compositions_updater.rb
109
116
  - lib/twitter_cldr/resources/collation_tries_dumper.rb
@@ -113,11 +120,12 @@ files:
113
120
  - lib/twitter_cldr/resources/language_codes_importer.rb
114
121
  - lib/twitter_cldr/resources/loader.rb
115
122
  - lib/twitter_cldr/resources/locales_resources_importer.rb
123
+ - lib/twitter_cldr/resources/normalization_quick_check_importer.rb
116
124
  - lib/twitter_cldr/resources/phone_codes_importer.rb
117
125
  - lib/twitter_cldr/resources/postal_codes_importer.rb
118
126
  - lib/twitter_cldr/resources/tailoring_importer.rb
119
127
  - lib/twitter_cldr/resources/unicode_data_importer.rb
120
- - lib/twitter_cldr/shared.rb
128
+ - lib/twitter_cldr/resources.rb
121
129
  - lib/twitter_cldr/shared/bidi.rb
122
130
  - lib/twitter_cldr/shared/calendar.rb
123
131
  - lib/twitter_cldr/shared/code_point.rb
@@ -129,7 +137,7 @@ files:
129
137
  - lib/twitter_cldr/shared/postal_codes.rb
130
138
  - lib/twitter_cldr/shared/territories.rb
131
139
  - lib/twitter_cldr/shared/timezones.rb
132
- - lib/twitter_cldr/tokenizers.rb
140
+ - lib/twitter_cldr/shared.rb
133
141
  - lib/twitter_cldr/tokenizers/base.rb
134
142
  - lib/twitter_cldr/tokenizers/calendars/additional_date_format_selector.rb
135
143
  - lib/twitter_cldr/tokenizers/calendars/date_tokenizer.rb
@@ -139,12 +147,121 @@ files:
139
147
  - lib/twitter_cldr/tokenizers/composite_token.rb
140
148
  - lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb
141
149
  - lib/twitter_cldr/tokenizers/token.rb
142
- - lib/twitter_cldr/utils.rb
150
+ - lib/twitter_cldr/tokenizers.rb
143
151
  - lib/twitter_cldr/utils/code_points.rb
144
152
  - lib/twitter_cldr/utils/interpolation.rb
145
153
  - lib/twitter_cldr/utils/territories.rb
146
154
  - lib/twitter_cldr/utils/yaml.rb
155
+ - lib/twitter_cldr/utils.rb
147
156
  - lib/twitter_cldr/version.rb
157
+ - lib/twitter_cldr.rb
158
+ - spec/bidi/bidi_spec.rb
159
+ - spec/bidi/classpath_bidi_test.txt
160
+ - spec/collation/collation_spec.rb
161
+ - spec/collation/CollationTest_CLDR_NON_IGNORABLE_Short.txt
162
+ - spec/collation/collator_spec.rb
163
+ - spec/collation/implicit_collation_elements_spec.rb
164
+ - spec/collation/sort_key_builder_spec.rb
165
+ - spec/collation/tailoring_spec.rb
166
+ - spec/collation/tailoring_tests/af.txt
167
+ - spec/collation/tailoring_tests/ar.txt
168
+ - spec/collation/tailoring_tests/ca.txt
169
+ - spec/collation/tailoring_tests/cs.txt
170
+ - spec/collation/tailoring_tests/da.txt
171
+ - spec/collation/tailoring_tests/de.txt
172
+ - spec/collation/tailoring_tests/el.txt
173
+ - spec/collation/tailoring_tests/en.txt
174
+ - spec/collation/tailoring_tests/es.txt
175
+ - spec/collation/tailoring_tests/eu.txt
176
+ - spec/collation/tailoring_tests/fa.txt
177
+ - spec/collation/tailoring_tests/fi.txt
178
+ - spec/collation/tailoring_tests/fil.txt
179
+ - spec/collation/tailoring_tests/fr.txt
180
+ - spec/collation/tailoring_tests/he.txt
181
+ - spec/collation/tailoring_tests/hi.txt
182
+ - spec/collation/tailoring_tests/hu.txt
183
+ - spec/collation/tailoring_tests/id.txt
184
+ - spec/collation/tailoring_tests/it.txt
185
+ - spec/collation/tailoring_tests/ja.txt
186
+ - spec/collation/tailoring_tests/ko.txt
187
+ - spec/collation/tailoring_tests/ms.txt
188
+ - spec/collation/tailoring_tests/nb.txt
189
+ - spec/collation/tailoring_tests/nl.txt
190
+ - spec/collation/tailoring_tests/pl.txt
191
+ - spec/collation/tailoring_tests/pt.txt
192
+ - spec/collation/tailoring_tests/ru.txt
193
+ - spec/collation/tailoring_tests/sv.txt
194
+ - spec/collation/tailoring_tests/th.txt
195
+ - spec/collation/tailoring_tests/tr.txt
196
+ - spec/collation/tailoring_tests/uk.txt
197
+ - spec/collation/tailoring_tests/ur.txt
198
+ - spec/collation/tailoring_tests/zh-Hant.txt
199
+ - spec/collation/tailoring_tests/zh.txt
200
+ - spec/collation/trie_builder_spec.rb
201
+ - spec/collation/trie_dumps_spec.rb
202
+ - spec/collation/trie_loader_spec.rb
203
+ - spec/collation/trie_spec.rb
204
+ - spec/collation/trie_with_fallback_spec.rb
205
+ - spec/core_ext_spec.rb
206
+ - spec/formatters/base_spec.rb
207
+ - spec/formatters/calendars/datetime_formatter_spec.rb
208
+ - spec/formatters/calendars/timespan_formatter_spec.rb
209
+ - spec/formatters/list_formatter_spec.rb
210
+ - spec/formatters/numbers/abbreviated/abbreviated_number_formatter_spec.rb
211
+ - spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb
212
+ - spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb
213
+ - spec/formatters/numbers/currency_formatter_spec.rb
214
+ - spec/formatters/numbers/decimal_formatter_spec.rb
215
+ - spec/formatters/numbers/helpers/fraction_spec.rb
216
+ - spec/formatters/numbers/helpers/integer_spec.rb
217
+ - spec/formatters/numbers/number_formatter_spec.rb
218
+ - spec/formatters/numbers/percent_formatter_spec.rb
219
+ - spec/formatters/plurals/plural_formatter_spec.rb
220
+ - spec/formatters/plurals/rules_spec.rb
221
+ - spec/localized/localized_array_spec.rb
222
+ - spec/localized/localized_date_spec.rb
223
+ - spec/localized/localized_datetime_spec.rb
224
+ - spec/localized/localized_hash_spec.rb
225
+ - spec/localized/localized_number_spec.rb
226
+ - spec/localized/localized_object_spec.rb
227
+ - spec/localized/localized_string_spec.rb
228
+ - spec/localized/localized_symbol_spec.rb
229
+ - spec/localized/localized_time_spec.rb
230
+ - spec/normalization/base_spec.rb
231
+ - spec/normalization/hangul_spec.rb
232
+ - spec/normalization/normalization_spec.rb
233
+ - spec/normalization/NormalizationTestShort.txt
234
+ - spec/normalization_spec.rb
235
+ - spec/parsers/number_parser_spec.rb
236
+ - spec/readme_spec.rb
237
+ - spec/resources/loader_spec.rb
238
+ - spec/shared/calendar_spec.rb
239
+ - spec/shared/code_point_spec.rb
240
+ - spec/shared/currencies_spec.rb
241
+ - spec/shared/language_codes_spec.rb
242
+ - spec/shared/languages_spec.rb
243
+ - spec/shared/numbers_spec.rb
244
+ - spec/shared/phone_codes_spec.rb
245
+ - spec/shared/postal_codes_spec.rb
246
+ - spec/shared/territories_spec.rb
247
+ - spec/spec_helper.rb
248
+ - spec/tokenizers/base_spec.rb
249
+ - spec/tokenizers/calendars/additional_date_format_selector_spec.rb
250
+ - spec/tokenizers/calendars/date_tokenizer_spec.rb
251
+ - spec/tokenizers/calendars/datetime_tokenizer_spec.rb
252
+ - spec/tokenizers/calendars/time_tokenizer_spec.rb
253
+ - spec/tokenizers/calendars/timespan_tokenizer_spec.rb
254
+ - spec/tokenizers/composite_token_spec.rb
255
+ - spec/tokenizers/numbers/number_tokenizer_spec.rb
256
+ - spec/tokenizers/token_spec.rb
257
+ - spec/twitter_cldr_spec.rb
258
+ - spec/utils/code_points_spec.rb
259
+ - spec/utils/interpolation_spec.rb
260
+ - spec/utils/territories_spec.rb
261
+ - spec/utils/yaml/t.gif
262
+ - spec/utils/yaml/t.yaml
263
+ - spec/utils/yaml/yaml_spec.rb
264
+ - spec/utils_spec.rb
148
265
  - resources/collation/FractionalUCA_SHORT.txt
149
266
  - resources/collation/tailoring/af.yml
150
267
  - resources/collation/tailoring/ar.yml
@@ -258,8 +375,8 @@ files:
258
375
  - resources/custom/locales/da/units.yml
259
376
  - resources/custom/locales/de/units.yml
260
377
  - resources/custom/locales/el/units.yml
261
- - resources/custom/locales/en-GB/units.yml
262
378
  - resources/custom/locales/en/units.yml
379
+ - resources/custom/locales/en-GB/units.yml
263
380
  - resources/custom/locales/es/units.yml
264
381
  - resources/custom/locales/eu/units.yml
265
382
  - resources/custom/locales/fa/units.yml
@@ -295,8 +412,8 @@ files:
295
412
  - resources/custom/locales/uk/units.yml
296
413
  - resources/custom/locales/ur/units.yml
297
414
  - resources/custom/locales/vi/units.yml
298
- - resources/custom/locales/zh-Hant/units.yml
299
415
  - resources/custom/locales/zh/units.yml
416
+ - resources/custom/locales/zh-Hant/units.yml
300
417
  - resources/locales/af/calendars.yml
301
418
  - resources/locales/af/currencies.yml
302
419
  - resources/locales/af/languages.yml
@@ -396,15 +513,6 @@ files:
396
513
  - resources/locales/el/plurals.yml
397
514
  - resources/locales/el/territories.yml
398
515
  - resources/locales/el/units.yml
399
- - resources/locales/en-GB/calendars.yml
400
- - resources/locales/en-GB/currencies.yml
401
- - resources/locales/en-GB/languages.yml
402
- - resources/locales/en-GB/layout.yml
403
- - resources/locales/en-GB/lists.yml
404
- - resources/locales/en-GB/numbers.yml
405
- - resources/locales/en-GB/plurals.yml
406
- - resources/locales/en-GB/territories.yml
407
- - resources/locales/en-GB/units.yml
408
516
  - resources/locales/en/calendars.yml
409
517
  - resources/locales/en/currencies.yml
410
518
  - resources/locales/en/languages.yml
@@ -414,6 +522,15 @@ files:
414
522
  - resources/locales/en/plurals.yml
415
523
  - resources/locales/en/territories.yml
416
524
  - resources/locales/en/units.yml
525
+ - resources/locales/en-GB/calendars.yml
526
+ - resources/locales/en-GB/currencies.yml
527
+ - resources/locales/en-GB/languages.yml
528
+ - resources/locales/en-GB/layout.yml
529
+ - resources/locales/en-GB/lists.yml
530
+ - resources/locales/en-GB/numbers.yml
531
+ - resources/locales/en-GB/plurals.yml
532
+ - resources/locales/en-GB/territories.yml
533
+ - resources/locales/en-GB/units.yml
417
534
  - resources/locales/es/calendars.yml
418
535
  - resources/locales/es/currencies.yml
419
536
  - resources/locales/es/languages.yml
@@ -729,15 +846,6 @@ files:
729
846
  - resources/locales/vi/plurals.yml
730
847
  - resources/locales/vi/territories.yml
731
848
  - resources/locales/vi/units.yml
732
- - resources/locales/zh-Hant/calendars.yml
733
- - resources/locales/zh-Hant/currencies.yml
734
- - resources/locales/zh-Hant/languages.yml
735
- - resources/locales/zh-Hant/layout.yml
736
- - resources/locales/zh-Hant/lists.yml
737
- - resources/locales/zh-Hant/numbers.yml
738
- - resources/locales/zh-Hant/plurals.yml
739
- - resources/locales/zh-Hant/territories.yml
740
- - resources/locales/zh-Hant/units.yml
741
849
  - resources/locales/zh/calendars.yml
742
850
  - resources/locales/zh/currencies.yml
743
851
  - resources/locales/zh/languages.yml
@@ -747,12 +855,20 @@ files:
747
855
  - resources/locales/zh/plurals.yml
748
856
  - resources/locales/zh/territories.yml
749
857
  - resources/locales/zh/units.yml
858
+ - resources/locales/zh-Hant/calendars.yml
859
+ - resources/locales/zh-Hant/currencies.yml
860
+ - resources/locales/zh-Hant/languages.yml
861
+ - resources/locales/zh-Hant/layout.yml
862
+ - resources/locales/zh-Hant/lists.yml
863
+ - resources/locales/zh-Hant/numbers.yml
864
+ - resources/locales/zh-Hant/plurals.yml
865
+ - resources/locales/zh-Hant/territories.yml
866
+ - resources/locales/zh-Hant/units.yml
750
867
  - resources/shared/currency_digits_and_rounding.yml
751
868
  - resources/shared/iso_currency_symbols.yml
752
869
  - resources/shared/language_codes_table.dump
753
870
  - resources/shared/phone_codes.yml
754
871
  - resources/shared/postal_codes.yml
755
- - resources/unicode_data/blocks.yml
756
872
  - resources/unicode_data/blocks/aegean_numbers.yml
757
873
  - resources/unicode_data/blocks/alchemical_symbols.yml
758
874
  - resources/unicode_data/blocks/alphabetic_presentation_forms.yml
@@ -973,116 +1089,20 @@ files:
973
1089
  - resources/unicode_data/blocks/yi_radicals.yml
974
1090
  - resources/unicode_data/blocks/yi_syllables.yml
975
1091
  - resources/unicode_data/blocks/yijing_hexagram_symbols.yml
1092
+ - resources/unicode_data/blocks.yml
976
1093
  - resources/unicode_data/canonical_compositions.yml
977
1094
  - resources/unicode_data/composition_exclusions.yml
978
1095
  - resources/unicode_data/hangul_blocks.yml
979
- - spec/bidi/bidi_spec.rb
980
- - spec/bidi/classpath_bidi_test.txt
981
- - spec/collation/CollationTest_CLDR_NON_IGNORABLE_Short.txt
982
- - spec/collation/collation_spec.rb
983
- - spec/collation/collator_spec.rb
984
- - spec/collation/implicit_collation_elements_spec.rb
985
- - spec/collation/sort_key_builder_spec.rb
986
- - spec/collation/tailoring_spec.rb
987
- - spec/collation/tailoring_tests/af.txt
988
- - spec/collation/tailoring_tests/ar.txt
989
- - spec/collation/tailoring_tests/ca.txt
990
- - spec/collation/tailoring_tests/cs.txt
991
- - spec/collation/tailoring_tests/da.txt
992
- - spec/collation/tailoring_tests/de.txt
993
- - spec/collation/tailoring_tests/el.txt
994
- - spec/collation/tailoring_tests/en.txt
995
- - spec/collation/tailoring_tests/es.txt
996
- - spec/collation/tailoring_tests/eu.txt
997
- - spec/collation/tailoring_tests/fa.txt
998
- - spec/collation/tailoring_tests/fi.txt
999
- - spec/collation/tailoring_tests/fil.txt
1000
- - spec/collation/tailoring_tests/fr.txt
1001
- - spec/collation/tailoring_tests/he.txt
1002
- - spec/collation/tailoring_tests/hi.txt
1003
- - spec/collation/tailoring_tests/hu.txt
1004
- - spec/collation/tailoring_tests/id.txt
1005
- - spec/collation/tailoring_tests/it.txt
1006
- - spec/collation/tailoring_tests/ja.txt
1007
- - spec/collation/tailoring_tests/ko.txt
1008
- - spec/collation/tailoring_tests/ms.txt
1009
- - spec/collation/tailoring_tests/nb.txt
1010
- - spec/collation/tailoring_tests/nl.txt
1011
- - spec/collation/tailoring_tests/pl.txt
1012
- - spec/collation/tailoring_tests/pt.txt
1013
- - spec/collation/tailoring_tests/ru.txt
1014
- - spec/collation/tailoring_tests/sv.txt
1015
- - spec/collation/tailoring_tests/th.txt
1016
- - spec/collation/tailoring_tests/tr.txt
1017
- - spec/collation/tailoring_tests/uk.txt
1018
- - spec/collation/tailoring_tests/ur.txt
1019
- - spec/collation/tailoring_tests/zh-Hant.txt
1020
- - spec/collation/tailoring_tests/zh.txt
1021
- - spec/collation/trie_builder_spec.rb
1022
- - spec/collation/trie_dumps_spec.rb
1023
- - spec/collation/trie_loader_spec.rb
1024
- - spec/collation/trie_spec.rb
1025
- - spec/collation/trie_with_fallback_spec.rb
1026
- - spec/core_ext_spec.rb
1027
- - spec/formatters/base_spec.rb
1028
- - spec/formatters/calendars/datetime_formatter_spec.rb
1029
- - spec/formatters/calendars/timespan_formatter_spec.rb
1030
- - spec/formatters/list_formatter_spec.rb
1031
- - spec/formatters/numbers/abbreviated/abbreviated_number_formatter_spec.rb
1032
- - spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb
1033
- - spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb
1034
- - spec/formatters/numbers/currency_formatter_spec.rb
1035
- - spec/formatters/numbers/decimal_formatter_spec.rb
1036
- - spec/formatters/numbers/helpers/fraction_spec.rb
1037
- - spec/formatters/numbers/helpers/integer_spec.rb
1038
- - spec/formatters/numbers/number_formatter_spec.rb
1039
- - spec/formatters/numbers/percent_formatter_spec.rb
1040
- - spec/formatters/plurals/plural_formatter_spec.rb
1041
- - spec/formatters/plurals/rules_spec.rb
1042
- - spec/localized/localized_array_spec.rb
1043
- - spec/localized/localized_date_spec.rb
1044
- - spec/localized/localized_datetime_spec.rb
1045
- - spec/localized/localized_hash_spec.rb
1046
- - spec/localized/localized_number_spec.rb
1047
- - spec/localized/localized_object_spec.rb
1048
- - spec/localized/localized_string_spec.rb
1049
- - spec/localized/localized_symbol_spec.rb
1050
- - spec/localized/localized_time_spec.rb
1051
- - spec/normalization/NormalizationTestShort.txt
1052
- - spec/normalization/base_spec.rb
1053
- - spec/normalization/hangul_spec.rb
1054
- - spec/normalization/normalization_spec.rb
1055
- - spec/normalization_spec.rb
1056
- - spec/parsers/number_parser_spec.rb
1057
- - spec/readme_spec.rb
1058
- - spec/resources/loader_spec.rb
1059
- - spec/shared/calendar_spec.rb
1060
- - spec/shared/code_point_spec.rb
1061
- - spec/shared/currencies_spec.rb
1062
- - spec/shared/language_codes_spec.rb
1063
- - spec/shared/languages_spec.rb
1064
- - spec/shared/numbers_spec.rb
1065
- - spec/shared/phone_codes_spec.rb
1066
- - spec/shared/postal_codes_spec.rb
1067
- - spec/shared/territories_spec.rb
1068
- - spec/spec_helper.rb
1069
- - spec/tokenizers/base_spec.rb
1070
- - spec/tokenizers/calendars/additional_date_format_selector_spec.rb
1071
- - spec/tokenizers/calendars/date_tokenizer_spec.rb
1072
- - spec/tokenizers/calendars/datetime_tokenizer_spec.rb
1073
- - spec/tokenizers/calendars/time_tokenizer_spec.rb
1074
- - spec/tokenizers/calendars/timespan_tokenizer_spec.rb
1075
- - spec/tokenizers/composite_token_spec.rb
1076
- - spec/tokenizers/numbers/number_tokenizer_spec.rb
1077
- - spec/tokenizers/token_spec.rb
1078
- - spec/twitter_cldr_spec.rb
1079
- - spec/utils/code_points_spec.rb
1080
- - spec/utils/interpolation_spec.rb
1081
- - spec/utils/territories_spec.rb
1082
- - spec/utils/yaml/t.gif
1083
- - spec/utils/yaml/t.yaml
1084
- - spec/utils/yaml/yaml_spec.rb
1085
- - spec/utils_spec.rb
1096
+ - resources/unicode_data/nfc_quick_check.yml
1097
+ - resources/unicode_data/nfd_quick_check.yml
1098
+ - resources/unicode_data/nfkc_quick_check.yml
1099
+ - resources/unicode_data/nfkd_quick_check.yml
1100
+ - Gemfile
1101
+ - History.txt
1102
+ - LICENSE
1103
+ - NOTICE
1104
+ - README.md
1105
+ - Rakefile
1086
1106
  - twitter_cldr.gemspec
1087
1107
  homepage: http://twitter.com
1088
1108
  licenses: []
@@ -1098,12 +1118,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1098
1118
  version: '0'
1099
1119
  required_rubygems_version: !ruby/object:Gem::Requirement
1100
1120
  requirements:
1101
- - - '>='
1121
+ - - '>'
1102
1122
  - !ruby/object:Gem::Version
1103
- version: '0'
1123
+ version: 1.3.1
1104
1124
  requirements: []
1105
1125
  rubyforge_project:
1106
- rubygems_version: 2.2.2
1126
+ rubygems_version: 2.1.5
1107
1127
  signing_key:
1108
1128
  specification_version: 4
1109
1129
  summary: Ruby implementation of the ICU (International Components for Unicode) that