ruby-cldr 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/Gemfile +7 -0
  2. data/Gemfile.lock +23 -0
  3. data/README.textile +9 -6
  4. data/VERSION +1 -1
  5. data/lib/cldr.rb +1 -1
  6. data/lib/cldr/data.rb +9 -29
  7. data/lib/cldr/download.rb +2 -2
  8. data/lib/cldr/export.rb +8 -2
  9. data/lib/cldr/export/code.rb +34 -0
  10. data/lib/cldr/export/code/numbers.rb +29 -0
  11. data/lib/cldr/export/data.rb +36 -0
  12. data/lib/cldr/export/data/base.rb +61 -0
  13. data/lib/cldr/export/data/calendars.rb +14 -0
  14. data/lib/cldr/export/data/calendars/gregorian.rb +142 -0
  15. data/lib/cldr/export/data/currencies.rb +28 -0
  16. data/lib/cldr/export/data/delimiters.rb +29 -0
  17. data/lib/cldr/export/data/languages.rb +19 -0
  18. data/lib/cldr/export/data/numbers.rb +67 -0
  19. data/lib/cldr/export/data/plurals.rb +41 -0
  20. data/lib/cldr/{data → export/data}/plurals/cldr_grammar.treetop +0 -0
  21. data/lib/cldr/export/data/plurals/grammar.rb +538 -0
  22. data/lib/cldr/export/data/plurals/rules.rb +119 -0
  23. data/lib/cldr/export/data/territories.rb +19 -0
  24. data/lib/cldr/export/data/timezones.rb +27 -0
  25. data/lib/cldr/export/data/units.rb +29 -0
  26. data/lib/cldr/export/ruby.rb +1 -1
  27. data/lib/cldr/export/yaml.rb +1 -1
  28. data/lib/cldr/format.rb +1 -97
  29. data/lib/cldr/format/currency.rb +1 -1
  30. data/lib/cldr/format/date.rb +1 -1
  31. data/lib/cldr/format/datetime.rb +14 -18
  32. data/lib/cldr/format/datetime/base.rb +1 -1
  33. data/lib/cldr/format/decimal.rb +1 -1
  34. data/lib/cldr/format/decimal/base.rb +1 -1
  35. data/lib/cldr/format/decimal/fraction.rb +1 -1
  36. data/lib/cldr/format/decimal/integer.rb +1 -1
  37. data/lib/cldr/format/decimal/number.rb +1 -1
  38. data/lib/cldr/format/percent.rb +1 -1
  39. data/lib/cldr/format/time.rb +1 -1
  40. data/lib/cldr/thor.rb +3 -3
  41. data/test/all.rb +1 -1
  42. data/test/export/code/numbers_test.rb +11 -0
  43. data/test/{data → export/data}/all.rb +1 -1
  44. data/test/{data → export/data}/calendars_test.rb +18 -18
  45. data/test/{data → export/data}/currencies_test.rb +6 -6
  46. data/test/{data → export/data}/delimiters_test.rb +6 -6
  47. data/test/{data → export/data}/languages_test.rb +6 -6
  48. data/test/{data → export/data}/numbers_test.rb +8 -8
  49. data/test/export/data/plurals_test.rb +141 -0
  50. data/test/{data → export/data}/territories_test.rb +6 -6
  51. data/test/{data → export/data}/timezones_test.rb +6 -6
  52. data/test/{data → export/data}/units_test.rb +6 -6
  53. data/test/export_test.rb +8 -8
  54. data/test/{formats → format}/all.rb +1 -1
  55. data/test/format/currency_test.rb +0 -0
  56. data/test/format/date_test.rb +265 -0
  57. data/test/format/datetime_test.rb +18 -0
  58. data/test/{formats → format}/decimal/fraction_test.rb +4 -4
  59. data/test/{formats → format}/decimal/integer_test.rb +17 -17
  60. data/test/{formats → format}/decimal/number_test.rb +19 -19
  61. data/test/{formats → format}/decimal_test.rb +5 -5
  62. data/test/format/percent_test.rb +0 -0
  63. data/test/format/time_test.rb +195 -0
  64. data/test/test_autotest.rb +36 -0
  65. data/test/test_helper.rb +16 -1
  66. metadata +124 -114
  67. data/lib/cldr/data/base.rb +0 -66
  68. data/lib/cldr/data/calendars.rb +0 -12
  69. data/lib/cldr/data/calendars/gregorian.rb +0 -124
  70. data/lib/cldr/data/currencies.rb +0 -26
  71. data/lib/cldr/data/delimiters.rb +0 -21
  72. data/lib/cldr/data/languages.rb +0 -17
  73. data/lib/cldr/data/numbers.rb +0 -60
  74. data/lib/cldr/data/plurals.rb +0 -39
  75. data/lib/cldr/data/plurals/grammar.rb +0 -536
  76. data/lib/cldr/data/plurals/rules.rb +0 -113
  77. data/lib/cldr/data/territories.rb +0 -17
  78. data/lib/cldr/data/timezones.rb +0 -25
  79. data/lib/cldr/data/units.rb +0 -25
  80. data/test/data/plurals_test.rb +0 -132
  81. data/test/formats/datetime/all.rb +0 -3
  82. data/test/formats/datetime/date_test.rb +0 -31
  83. data/test/formats/datetime/datetime_test.rb +0 -18
  84. data/test/formats/datetime/day_test.rb +0 -41
  85. data/test/formats/datetime/hour_test.rb +0 -79
  86. data/test/formats/datetime/minute_test.rb +0 -25
  87. data/test/formats/datetime/month_test.rb +0 -76
  88. data/test/formats/datetime/period_test.rb +0 -20
  89. data/test/formats/datetime/quarter_test.rb +0 -118
  90. data/test/formats/datetime/second_test.rb +0 -80
  91. data/test/formats/datetime/time_test.rb +0 -33
  92. data/test/formats/datetime/timezone_test.rb +0 -23
  93. data/test/formats/datetime/year_test.rb +0 -57
  94. data/test/formats/format_test.rb +0 -66
  95. data/test/formats/rails_compat/all.rb +0 -3
  96. data/test/formats/rails_compat/format_integer_test.rb +0 -56
  97. data/test/formats/rails_compat/format_number_test.rb +0 -134
@@ -1,9 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../test_helper.rb'
3
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'))
4
4
 
5
5
  class TestCldrDataTimezones < Test::Unit::TestCase
6
- define_method 'test: timezones :de' do
6
+ test 'timezones :de' do
7
7
  codes = [:"Etc/Unknown", :"Europe/Tirane", :"Asia/Yerevan",
8
8
  :"America/Curacao", :"Antarctica/South_Pole",
9
9
  :"Antarctica/Vostok", :"Antarctica/DumontDUrville",
@@ -35,15 +35,15 @@ class TestCldrDataTimezones < Test::Unit::TestCase
35
35
  :"America/Indiana/Knox", :"Asia/Tashkent", :"America/St_Vincent",
36
36
  :"America/St_Thomas"]
37
37
 
38
- timezones = Cldr::Data::Timezones.new(:de)[:timezones]
38
+ timezones = Cldr::Export::Data::Timezones.new(:de)[:timezones]
39
39
  assert (timezones.keys - codes).empty? && (codes - timezones.keys).empty?
40
40
  assert_equal({ :city => 'Wien' }, timezones[:"Europe/Vienna"])
41
41
  end
42
42
 
43
- # Cldr::Data.locales.each do |locale|
44
- # define_method "test: extract timezones for #{locale}" do
43
+ # Cldr::Export::Data.locales.each do |locale|
44
+ # test "extract timezones for #{locale}" do
45
45
  # assert_nothing_raised do
46
- # Cldr::Data::Timezones.new(locale)
46
+ # Cldr::Export::Data::Timezones.new(locale)
47
47
  # end
48
48
  # end
49
49
  # end
@@ -1,9 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../test_helper.rb'
3
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'))
4
4
 
5
5
  class TestCldrDataUnits < Test::Unit::TestCase
6
- define_method 'test: units' do
6
+ test 'units' do
7
7
  units = {
8
8
  :day => { :one => "{0} Tag", :other => "{0} Tage" },
9
9
  :week => { :one => "{0} Woche", :other => "{0} Wochen" },
@@ -14,7 +14,7 @@ class TestCldrDataUnits < Test::Unit::TestCase
14
14
  :second => { :one => "{0} Sek.", :other => "{0} Sek." }
15
15
  }
16
16
  keys = %w(day week month year hour minute second).sort
17
- data = Cldr::Data::Units.new('de')[:units]
17
+ data = Cldr::Export::Data::Units.new('de')[:units]
18
18
 
19
19
  assert_equal keys, data.keys.map { |key| key.to_s }.sort
20
20
  assert_equal units[:day], data[:day]
@@ -26,10 +26,10 @@ class TestCldrDataUnits < Test::Unit::TestCase
26
26
  assert_equal units[:second], data[:second]
27
27
  end
28
28
 
29
- # Cldr::Data.locales.each do |locale|
30
- # define_method "test: extract units for #{locale}" do
29
+ # Cldr::Export::Data.locales.each do |locale|
30
+ # test "extract units for #{locale}" do
31
31
  # assert_nothing_raised do
32
- # Cldr::Data::Units.new(locale)
32
+ # Cldr::Export::Data::Units.new(locale)
33
33
  # end
34
34
  # end
35
35
  # end
data/test/export_test.rb CHANGED
@@ -18,7 +18,7 @@ class TestExtract < Test::Unit::TestCase
18
18
  File.expand_path(File.dirname(__FILE__) + '/tmp')
19
19
  end
20
20
 
21
- define_method 'test: passing the merge option generates and merge data for all fallback locales' do
21
+ test 'passing the merge option generates and merge data for all fallback locales' do
22
22
  data = Cldr::Export.data('numbers', 'de-AT')
23
23
  assert !data[:numbers][:formats][:nan]
24
24
 
@@ -26,30 +26,30 @@ class TestExtract < Test::Unit::TestCase
26
26
  assert_equal 'NaN', data[:numbers][:symbols][:nan]
27
27
  end
28
28
 
29
- define_method "test: exports data to files" do
29
+ test "exports data to files" do
30
30
  Cldr::Export.export(:locales => %w(de), :components => %w(calendars))
31
31
  assert File.exists?(Cldr::Export.path('de', 'calendars', 'yml'))
32
32
  end
33
33
 
34
- define_method "test: exported data starts with the locale at top level" do
34
+ test "exported data starts with the locale at top level" do
35
35
  Cldr::Export.export(:locales => %w(de), :components => %w(calendars))
36
36
  data = YAML.load(File.open(Cldr::Export.path('de', 'calendars', 'yml')))
37
37
  assert data['de']
38
38
  end
39
39
 
40
- define_method "test: writes dot-separated symbols to yaml" do
40
+ test "writes dot-separated symbols to yaml" do
41
41
  data = { :format => { :narrow => :"calendars.gregorian.months.stand-alone.narrow" } }
42
42
  yaml = %(\nformat: \n narrow: :"calendars.gregorian.months.stand-alone.narrow")
43
43
 
44
44
  assert_equal yaml, Cldr::Export::Yaml.new.emit(data.deep_stringify_keys)
45
45
  end
46
46
 
47
- # Cldr::Data.locales.each do |locale|
48
- # Cldr::Data.components.each do |component|
49
- # define_method "test: exported yaml file yaml for #{locale}/#{component} readable" do
47
+ # Cldr::Export::Data.locales.each do |locale|
48
+ # Cldr::Export::Data.components.each do |component|
49
+ # test "exported yaml file yaml for #{locale}/#{component} readable" do
50
50
  # Cldr::Export.export(:locales => [locale], :components => [component])
51
51
  # assert_nothing_raised do
52
- # YAML.load(File.open(Cldr::Data::Export.path(locale, component))) rescue Errno::ENOENT
52
+ # YAML.load(File.open(Cldr::Export::Data::Export.path(locale, component))) rescue Errno::ENOENT
53
53
  # end
54
54
  # end
55
55
  # end
@@ -1,3 +1,3 @@
1
1
  Dir["#{File.dirname(__FILE__)}/**/*_test.rb"].each do |filename|
2
- require filename
2
+ require File.expand_path(filename)
3
3
  end
File without changes
@@ -0,0 +1,265 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../test_helper'))
4
+ require 'date'
5
+
6
+ class TestCldrDateFormat < Test::Unit::TestCase
7
+ def setup
8
+ @locale = :de
9
+ @calendar = Cldr::Export::Data::Calendars.new(@locale)[:calendars][:gregorian]
10
+ end
11
+
12
+ def format(object, pattern)
13
+ Cldr::Format::Date.new(pattern, @calendar).apply(object)
14
+ end
15
+
16
+ test "full date pattern :de" do
17
+ assert_equal 'Montag, 11. Januar 2010', format(Date.new(2010, 1, 11), 'EEEE, d. MMMM y')
18
+ end
19
+
20
+ # FORMATS
21
+
22
+ test "long date pattern :de" do
23
+ assert_equal '11. Januar 2010', format(Date.new(2010, 1, 11), 'd. MMMM y')
24
+ end
25
+
26
+ test "medium date pattern :de" do
27
+ assert_equal '11.01.2010', format(Date.new(2010, 1, 11), 'dd.MM.yyyy')
28
+ end
29
+
30
+ test "short date pattern :de" do
31
+ assert_equal '11.01.10', format(Date.new(2010, 1, 11), 'dd.MM.yy')
32
+ end
33
+
34
+ # YEAR
35
+
36
+ test "pattern y" do
37
+ assert_equal '5', format(Date.new( 5, 1, 1), 'y')
38
+ assert_equal '45', format(Date.new( 45, 1, 1), 'y')
39
+ assert_equal '345', format(Date.new( 345, 1, 1), 'y')
40
+ assert_equal '2345', format(Date.new( 2345, 1, 1), 'y')
41
+ assert_equal '12345', format(Date.new(12345, 1, 1), 'y')
42
+ end
43
+
44
+ test "pattern yy" do
45
+ assert_equal '05', format(Date.new( 5, 1, 1), 'yy')
46
+ assert_equal '45', format(Date.new( 45, 1, 1), 'yy')
47
+ assert_equal '45', format(Date.new( 345, 1, 1), 'yy')
48
+ assert_equal '45', format(Date.new( 2345, 1, 1), 'yy')
49
+ assert_equal '45', format(Date.new(12345, 1, 1), 'yy')
50
+ end
51
+
52
+ test "pattern yyy" do
53
+ assert_equal '005', format(Date.new( 5, 1, 1), 'yyy')
54
+ assert_equal '045', format(Date.new( 45, 1, 1), 'yyy')
55
+ assert_equal '345', format(Date.new( 345, 1, 1), 'yyy')
56
+ assert_equal '2345', format(Date.new( 2345, 1, 1), 'yyy')
57
+ assert_equal '12345', format(Date.new(12345, 1, 1), 'yyy')
58
+ end
59
+
60
+ test "pattern yyyy" do
61
+ assert_equal '0005', format(Date.new( 5, 1, 1), 'yyyy')
62
+ assert_equal '0045', format(Date.new( 45, 1, 1), 'yyyy')
63
+ assert_equal '0345', format(Date.new( 345, 1, 1), 'yyyy')
64
+ assert_equal '2345', format(Date.new( 2345, 1, 1), 'yyyy')
65
+ assert_equal '12345', format(Date.new(12345, 1, 1), 'yyyy')
66
+ end
67
+
68
+ test "pattern yyyyy" do
69
+ assert_equal '00005', format(Date.new( 5, 1, 1), 'yyyyy')
70
+ assert_equal '00045', format(Date.new( 45, 1, 1), 'yyyyy')
71
+ assert_equal '00345', format(Date.new( 345, 1, 1), 'yyyyy')
72
+ assert_equal '02345', format(Date.new( 2345, 1, 1), 'yyyyy')
73
+ assert_equal '12345', format(Date.new(12345, 1, 1), 'yyyyy')
74
+ end
75
+
76
+ # QUARTER
77
+
78
+ test "pattern Q" do
79
+ assert_equal '1', format(Date.new(2010, 1, 1), 'Q')
80
+ assert_equal '1', format(Date.new(2010, 3, 31), 'Q')
81
+ assert_equal '2', format(Date.new(2010, 4, 1), 'Q')
82
+ assert_equal '2', format(Date.new(2010, 6, 30), 'Q')
83
+ assert_equal '3', format(Date.new(2010, 7, 1), 'Q')
84
+ assert_equal '3', format(Date.new(2010, 9, 30), 'Q')
85
+ assert_equal '4', format(Date.new(2010, 10, 1), 'Q')
86
+ assert_equal '4', format(Date.new(2010, 12, 31), 'Q')
87
+ end
88
+
89
+ test "pattern QQ" do
90
+ assert_equal '01', format(Date.new(2010, 1, 1), 'QQ')
91
+ assert_equal '01', format(Date.new(2010, 3, 31), 'QQ')
92
+ assert_equal '02', format(Date.new(2010, 4, 1), 'QQ')
93
+ assert_equal '02', format(Date.new(2010, 6, 30), 'QQ')
94
+ assert_equal '03', format(Date.new(2010, 7, 1), 'QQ')
95
+ assert_equal '03', format(Date.new(2010, 9, 30), 'QQ')
96
+ assert_equal '04', format(Date.new(2010, 10, 1), 'QQ')
97
+ assert_equal '04', format(Date.new(2010, 12, 31), 'QQ')
98
+ end
99
+
100
+ test "pattern QQQ" do
101
+ assert_equal 'Q1', format(Date.new(2010, 1, 1), 'QQQ')
102
+ assert_equal 'Q1', format(Date.new(2010, 3, 31), 'QQQ')
103
+ assert_equal 'Q2', format(Date.new(2010, 4, 1), 'QQQ')
104
+ assert_equal 'Q2', format(Date.new(2010, 6, 30), 'QQQ')
105
+ assert_equal 'Q3', format(Date.new(2010, 7, 1), 'QQQ')
106
+ assert_equal 'Q3', format(Date.new(2010, 9, 30), 'QQQ')
107
+ assert_equal 'Q4', format(Date.new(2010, 10, 1), 'QQQ')
108
+ assert_equal 'Q4', format(Date.new(2010, 12, 31), 'QQQ')
109
+ end
110
+
111
+ test "pattern QQQQ" do
112
+ assert_equal '1. Quartal', format(Date.new(2010, 1, 1), 'QQQQ')
113
+ assert_equal '1. Quartal', format(Date.new(2010, 3, 31), 'QQQQ')
114
+ assert_equal '2. Quartal', format(Date.new(2010, 4, 1), 'QQQQ')
115
+ assert_equal '2. Quartal', format(Date.new(2010, 6, 30), 'QQQQ')
116
+ assert_equal '3. Quartal', format(Date.new(2010, 7, 1), 'QQQQ')
117
+ assert_equal '3. Quartal', format(Date.new(2010, 9, 30), 'QQQQ')
118
+ assert_equal '4. Quartal', format(Date.new(2010, 10, 1), 'QQQQ')
119
+ assert_equal '4. Quartal', format(Date.new(2010, 12, 31), 'QQQQ')
120
+ end
121
+
122
+ test "pattern q" do
123
+ assert_equal '1', format(Date.new(2010, 1, 1), 'q')
124
+ assert_equal '1', format(Date.new(2010, 3, 31), 'q')
125
+ assert_equal '2', format(Date.new(2010, 4, 1), 'q')
126
+ assert_equal '2', format(Date.new(2010, 6, 30), 'q')
127
+ assert_equal '3', format(Date.new(2010, 7, 1), 'q')
128
+ assert_equal '3', format(Date.new(2010, 9, 30), 'q')
129
+ assert_equal '4', format(Date.new(2010, 10, 1), 'q')
130
+ assert_equal '4', format(Date.new(2010, 12, 31), 'q')
131
+ end
132
+
133
+ test "pattern qq" do
134
+ assert_equal '01', format(Date.new(2010, 1, 1), 'qq')
135
+ assert_equal '01', format(Date.new(2010, 3, 31), 'qq')
136
+ assert_equal '02', format(Date.new(2010, 4, 1), 'qq')
137
+ assert_equal '02', format(Date.new(2010, 6, 30), 'qq')
138
+ assert_equal '03', format(Date.new(2010, 7, 1), 'qq')
139
+ assert_equal '03', format(Date.new(2010, 9, 30), 'qq')
140
+ assert_equal '04', format(Date.new(2010, 10, 1), 'qq')
141
+ assert_equal '04', format(Date.new(2010, 12, 31), 'qq')
142
+ end
143
+
144
+ # requires "multiple inheritance"
145
+ #
146
+ # test "pattern qqq" do
147
+ # assert_equal 'Q1', format(Date.new(2010, 1, 1), 'qqq')
148
+ # assert_equal 'Q1', format(Date.new(2010, 3, 31), 'qqq')
149
+ # assert_equal 'Q2', format(Date.new(2010, 4, 1), 'qqq')
150
+ # assert_equal 'Q2', format(Date.new(2010, 6, 30), 'qqq')
151
+ # assert_equal 'Q3', format(Date.new(2010, 7, 1), 'qqq')
152
+ # assert_equal 'Q3', format(Date.new(2010, 9, 30), 'qqq')
153
+ # assert_equal 'Q4', format(Date.new(2010, 10, 1), 'qqq')
154
+ # assert_equal 'Q4', format(Date.new(2010, 12, 31), 'qqq')
155
+ # end
156
+ #
157
+ # test "pattern qqqq" do
158
+ # assert_equal '1. Quartal', format(Date.new(2010, 1, 1), 'qqqq')
159
+ # assert_equal '1. Quartal', format(Date.new(2010, 3, 31), 'qqqq')
160
+ # assert_equal '2. Quartal', format(Date.new(2010, 4, 1), 'qqqq')
161
+ # assert_equal '2. Quartal', format(Date.new(2010, 6, 30), 'qqqq')
162
+ # assert_equal '3. Quartal', format(Date.new(2010, 7, 1), 'qqqq')
163
+ # assert_equal '3. Quartal', format(Date.new(2010, 9, 30), 'qqqq')
164
+ # assert_equal '4. Quartal', format(Date.new(2010, 10, 1), 'qqqq')
165
+ # assert_equal '4. Quartal', format(Date.new(2010, 12, 31), 'qqqq')
166
+ # end
167
+
168
+ test "pattern qqqqq" do
169
+ assert_equal '1', format(Date.new(2010, 1, 1), 'qqqqq')
170
+ assert_equal '1', format(Date.new(2010, 3, 31), 'qqqqq')
171
+ assert_equal '2', format(Date.new(2010, 4, 1), 'qqqqq')
172
+ assert_equal '2', format(Date.new(2010, 6, 30), 'qqqqq')
173
+ assert_equal '3', format(Date.new(2010, 7, 1), 'qqqqq')
174
+ assert_equal '3', format(Date.new(2010, 9, 30), 'qqqqq')
175
+ assert_equal '4', format(Date.new(2010, 10, 1), 'qqqqq')
176
+ assert_equal '4', format(Date.new(2010, 12, 31), 'qqqqq')
177
+ end
178
+
179
+ # MONTH
180
+
181
+ test "pattern M" do
182
+ assert_equal '1', format(Date.new(2010, 1, 1), 'M')
183
+ assert_equal '10', format(Date.new(2010, 10, 1), 'M')
184
+ end
185
+
186
+ test "pattern MM" do
187
+ assert_equal '01', format(Date.new(2010, 1, 1), 'MM')
188
+ assert_equal '10', format(Date.new(2010, 10, 1), 'MM')
189
+ end
190
+
191
+ test "pattern MMM" do
192
+ assert_equal 'Jan', format(Date.new(2010, 1, 1), 'MMM')
193
+ assert_equal 'Okt', format(Date.new(2010, 10, 1), 'MMM')
194
+ end
195
+
196
+ test "pattern MMMM" do
197
+ assert_equal 'Januar', format(Date.new(2010, 1, 1), 'MMMM')
198
+ assert_equal 'Oktober', format(Date.new(2010, 10, 1), 'MMMM')
199
+ end
200
+
201
+ # requires cldr's "multiple inheritance"
202
+ #
203
+ # test "pattern MMMMM" do
204
+ # assert_equal 'J', format(Date.new(2010, 1, 1), 'MMMMM')
205
+ # assert_equal 'O', format(Date.new(2010, 10, 1), 'MMMMM')
206
+ # end
207
+
208
+ test "pattern L" do
209
+ assert_equal '1', format(Date.new(2010, 1, 1), 'L')
210
+ assert_equal '10', format(Date.new(2010, 10, 1), 'L')
211
+ end
212
+
213
+ test "pattern LL" do
214
+ assert_equal '01', format(Date.new(2010, 1, 1), 'LL')
215
+ assert_equal '10', format(Date.new(2010, 10, 1), 'LL')
216
+ end
217
+
218
+ # requires cldr's "multiple inheritance"
219
+ #
220
+ # test "pattern LLL" do
221
+ # assert_equal 'Jan', format(Date.new(2010, 1, 1), 'LLL')
222
+ # assert_equal 'Okt', format(Date.new(2010, 10, 1), 'LLL')
223
+ # end
224
+ #
225
+ # test "pattern LLLL" do
226
+ # assert_equal 'Januar', format(Date.new(2010, 1, 1), 'LLLL')
227
+ # assert_equal 'Oktober', format(Date.new(2010, 10, 1), 'LLLL')
228
+ # end
229
+ #
230
+ # test "pattern LLLLL" do
231
+ # assert_equal 'J', format(Date.new(2010, 1, 1), 'LLLLL')
232
+ # assert_equal 'O', format(Date.new(2010, 10, 1), 'LLLLL')
233
+ # end
234
+
235
+ test "pattern LLLLL" do
236
+ assert_equal 'J', format(Date.new(2010, 1, 1), 'LLLLL')
237
+ assert_equal 'O', format(Date.new(2010, 10, 1), 'LLLLL')
238
+ end
239
+
240
+ # DAY
241
+
242
+ test "pattern d" do
243
+ assert_equal '1', format(Date.new(2010, 1, 1), 'd')
244
+ assert_equal '10', format(Date.new(2010, 1, 10), 'd')
245
+ end
246
+
247
+ test "pattern dd" do
248
+ assert_equal '01', format(Date.new(2010, 1, 1), 'dd')
249
+ assert_equal '10', format(Date.new(2010, 1, 10), 'dd')
250
+ end
251
+
252
+ test "pattern E, EE, EEE" do
253
+ assert_equal 'Fr.', format(Date.new(2010, 1, 1), 'E')
254
+ assert_equal 'Fr.', format(Date.new(2010, 1, 1), 'EE')
255
+ assert_equal 'Fr.', format(Date.new(2010, 1, 1), 'EEE')
256
+ end
257
+
258
+ test "pattern EEEE" do
259
+ assert_equal 'Freitag', format(Date.new(2010, 1, 1), 'EEEE')
260
+ end
261
+
262
+ test "pattern EEEEE" do
263
+ assert_equal 'F', format(Date.new(2010, 1, 1), 'EEEEE')
264
+ end
265
+ end
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../test_helper'))
4
+ require 'date'
5
+
6
+ class TestCldrDatetimeFormat < Test::Unit::TestCase
7
+ def setup
8
+ @locale = :de
9
+ @calendar = Cldr::Export::Data::Calendars.new(@locale)[:calendars][:gregorian]
10
+ end
11
+
12
+ test "datetime pattern :de" do
13
+ date = Cldr::Format::Date.new('dd.MM.yyyy', @calendar)
14
+ time = Cldr::Format::Time.new('HH:mm', @calendar)
15
+ result = Cldr::Format::Datetime.new('{{date}} {{time}}', date, time).apply(DateTime.new(2010, 1, 10, 13, 12, 11))
16
+ assert_equal '10.01.2010 13:12', result
17
+ end
18
+ end
@@ -1,15 +1,15 @@
1
- require File.dirname(__FILE__) + '/../../test_helper'
1
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'))
2
2
 
3
3
  class TestCldrDecimalFractionFormatWithInteger < Test::Unit::TestCase
4
- define_method "test: formats a fraction" do
4
+ test "formats a fraction" do
5
5
  assert_equal '.45', Cldr::Format::Decimal::Fraction.new('###.##').apply('45')
6
6
  end
7
7
 
8
- define_method "test: pads zero digits on the right side" do
8
+ test "pads zero digits on the right side" do
9
9
  assert_equal '.4500', Cldr::Format::Decimal::Fraction.new('###.0000#').apply('45')
10
10
  end
11
11
 
12
- define_method "test: :precision option overrides format precision" do
12
+ test ":precision option overrides format precision" do
13
13
  assert_equal '.78901', Cldr::Format::Decimal::Fraction.new('###.##').apply('78901', :precision => 5)
14
14
  end
15
15
  end
@@ -1,67 +1,67 @@
1
- require File.dirname(__FILE__) + '/../../test_helper'
1
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'))
2
2
 
3
3
  class TestCldrDecimalIntegerFormatWithInteger < Test::Unit::TestCase
4
- define_method "test: interpolates a number" do
4
+ test "interpolates a number" do
5
5
  assert_equal '123', Cldr::Format::Decimal::Integer.new('###').apply(123)
6
6
  end
7
7
 
8
- define_method "test: interpolates a number on the right side" do
8
+ test "interpolates a number on the right side" do
9
9
  assert_equal '0123', Cldr::Format::Decimal::Integer.new('0###').apply(123)
10
10
  end
11
11
 
12
- define_method "test: strips optional digits" do
12
+ test "strips optional digits" do
13
13
  assert_equal '123', Cldr::Format::Decimal::Integer.new('######').apply(123)
14
14
  end
15
15
 
16
- define_method "test: single group" do
16
+ test "single group" do
17
17
  assert_equal '1,23', Cldr::Format::Decimal::Integer.new('#,##').apply(123)
18
18
  end
19
19
 
20
- define_method "test: multiple groups with a primary group size" do
20
+ test "multiple groups with a primary group size" do
21
21
  assert_equal '1,23,45,67,89', Cldr::Format::Decimal::Integer.new('#,##').apply(123456789)
22
22
  end
23
23
 
24
- define_method "test: multiple groups with a primary and secondary group size" do
24
+ test "multiple groups with a primary and secondary group size" do
25
25
  assert_equal '12,34,56,789', Cldr::Format::Decimal::Integer.new('#,##,##0').apply(123456789)
26
26
  end
27
27
 
28
- define_method "test: does not group when no digits left of the grouping position" do
28
+ test "does not group when no digits left of the grouping position" do
29
29
  assert_equal '123', Cldr::Format::Decimal::Integer.new('#,###').apply(123)
30
30
  end
31
31
 
32
- define_method "test: does not include a fraction for a float" do
32
+ test "does not include a fraction for a float" do
33
33
  assert_equal '123', Cldr::Format::Decimal::Integer.new('###').apply(123.45)
34
34
  end
35
35
 
36
- define_method "test: does not round when given a float" do
36
+ test "does not round when given a float" do
37
37
  assert_equal '123', Cldr::Format::Decimal::Integer.new('###').apply(123.55)
38
38
  end
39
39
 
40
- define_method "test: does not round with :precision => 1" do
40
+ test "does not round with :precision => 1" do
41
41
  assert_equal '123', Cldr::Format::Decimal::Integer.new('###').apply(123.55, :precision => 1)
42
42
  end
43
43
 
44
- define_method "test: ignores a fraction part given in the format string" do
44
+ test "ignores a fraction part given in the format string" do
45
45
  assert_equal '1,234', Cldr::Format::Decimal::Integer.new('#,##0.##').apply(1234.567)
46
46
  end
47
47
 
48
- define_method "test: cldr example #,##0.## => 1 234" do
48
+ test "cldr example #,##0.## => 1 234" do
49
49
  assert_equal '1,234', Cldr::Format::Decimal::Integer.new('#,##0.##').apply(1234.567)
50
50
  end
51
51
 
52
- define_method "test: cldr example #,##0.### => 1 234" do
52
+ test "cldr example #,##0.### => 1 234" do
53
53
  assert_equal '1 234', Cldr::Format::Decimal::Integer.new('#,##0.###', :group => ' ').apply(1234.567)
54
54
  end
55
55
 
56
- define_method "test: cldr example ###0.##### => 1234" do
56
+ test "cldr example ###0.##### => 1234" do
57
57
  assert_equal '1234', Cldr::Format::Decimal::Integer.new('###0.#####', :group => ' ').apply(1234.567)
58
58
  end
59
59
 
60
- define_method "test: cldr example ###0.0000# => 1234" do
60
+ test "cldr example ###0.0000# => 1234" do
61
61
  assert_equal '1234', Cldr::Format::Decimal::Integer.new('###0.0000#', :group => ' ').apply(1234.567)
62
62
  end
63
63
 
64
- define_method "test: cldr example 00000.0000 => 01234" do
64
+ test "cldr example 00000.0000 => 01234" do
65
65
  assert_equal '01234', Cldr::Format::Decimal::Integer.new('00000.0000', :group => ' ').apply(1234.567)
66
66
  end
67
67
  end