twitter_cldr 2.4.3 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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