locale 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b5067e4483f70b673adc2c10098cc668729dedf
4
- data.tar.gz: 6de826d9a0bd161fca2c6657d57c7f02d89281b4
3
+ metadata.gz: 530d2db4f5bc7f68d06654f0a8ec730479e79860
4
+ data.tar.gz: 72a52587e7410335944d6ac1ab1a769633598c58
5
5
  SHA512:
6
- metadata.gz: 8f4211d7f06ddac481fd9a5720e7ac8508680a462f76df1e5f58eff532f5c9e9d86c58cc3cf5a27454b15ec32a0e7c95c76d09abd0992e916fb2f45c66529ace
7
- data.tar.gz: 38a271195b5a9c8b143f178d8e0f69b478d87fba5941097408d3771be46607c662bd8c7c0ee60211cf1a1ec227bdd25e68c3d75f048c01a103f3637ee8b48d64
6
+ metadata.gz: 1f3cf2b1775cd5245c7e72ac837e2ec81af7db1b89abeb6771d74393bddde9d28ca4c1d0f73d2a615a474325c726ba37edebcce9551ba84d08b1c97941b244c2
7
+ data.tar.gz: c2c19cd4920438188f0f9cb7dff4cff07e1e87b8a15c3feb07bd49e9e3c7a4badfc6e950d5477f85e75a8a4134dc24a929782b4a2449d1f7b174dde471b8aef8
@@ -1,5 +1,17 @@
1
1
  # News
2
2
 
3
+ ## <a id="2-1-2">2.1.2</a>: 2015-09-15
4
+
5
+ ### Improvements
6
+
7
+ * Improved GNU gettext compatibility: Ignored `LANGUAGE` environment
8
+ variable when either `LC_ALL`, `LC_MESSAGES` or `LANG` is C.
9
+ [GitHub#6] [Reported by Hleb Valoshka]
10
+
11
+ ### Thanks
12
+
13
+ * Hleb Valoshka
14
+
3
15
  ## <a id="2-1-1">2.1.1</a>: 2015-05-16
4
16
 
5
17
  ### Improvements
@@ -57,6 +57,7 @@ module Locale
57
57
  # Gets the locales from environment variables. (LANGUAGE > LC_ALL > LC_MESSAGES > LANG)
58
58
  # * Returns: an Array of the locale as Locale::Tag::Posix or nil.
59
59
  def locales
60
+ return nil if (ENV["LC_ALL"] || ENV["LC_MESSAGES"] || ENV["LANG"]) == "C"
60
61
  locales = ENV["LANGUAGE"]
61
62
  if (locales != nil and locales.size > 0)
62
63
  locs = locales.split(/:/).collect{|v| Locale::Tag::Posix.parse(v)}.compact
@@ -2,12 +2,12 @@
2
2
  version - version information of Ruby-Locale
3
3
 
4
4
  Copyright (C) 2008 Masao Mutoh
5
- Copyright (C) 2013 Kouhei Sutou <kou@clear-code.com>
5
+ Copyright (C) 2013-2015 Kouhei Sutou <kou@clear-code.com>
6
6
 
7
7
  You may redistribute it and/or modify it under the same
8
8
  license terms as Ruby.
9
9
  =end
10
10
  module Locale
11
- VERSION = "2.1.1"
11
+ VERSION = "2.1.2"
12
12
  end
13
13
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2012-2015 Kouhei Sutou <kou@clear-code.com>
4
4
  # Copyright (C) 2012 Hleb Valoshka
5
5
  # Copyright (C) 2009-2010 Masao Mutoh
6
6
  #
@@ -137,59 +137,136 @@ class TestDetectGeneral < Test::Unit::TestCase
137
137
  assert_equal "UTF-8", Locale.charset
138
138
  end
139
139
 
140
- def test_language
141
- ENV["LC_ALL"] = "ja_JP.Shift_JIS"
142
- ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
140
+ sub_test_case "#language" do
141
+ test "LC_ALL" do
142
+ ENV["LC_ALL"] = "ja_JP.Shift_JIS"
143
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
143
144
 
144
- tags = Locale.current
145
- assert_equal Locale::Tag::Posix, tags[0].class
146
- assert_equal Locale::Tag::Posix, tags[1].class
145
+ tags = Locale.current
146
+ assert_equal Locale::Tag::Posix, tags[0].class
147
+ assert_equal Locale::Tag::Posix, tags[1].class
147
148
 
148
- assert_equal "zh", tags.language
149
- assert_equal "CN", tags.region
150
- assert_equal "UTF-8", tags.charset
149
+ assert_equal "zh", tags.language
150
+ assert_equal "CN", tags.region
151
+ assert_equal "UTF-8", tags.charset
151
152
 
152
- assert_equal "zh", tags[0].language
153
- assert_equal "CN", tags[0].region
154
- assert_equal "UTF-8", tags[0].charset
153
+ assert_equal "zh", tags[0].language
154
+ assert_equal "CN", tags[0].region
155
+ assert_equal "UTF-8", tags[0].charset
155
156
 
156
- assert_equal "ja", tags[1].language
157
- assert_equal "JP", tags[1].region
158
- assert_equal nil, tags[1].charset
157
+ assert_equal "ja", tags[1].language
158
+ assert_equal "JP", tags[1].region
159
+ assert_equal nil, tags[1].charset
159
160
 
160
- assert_equal Locale::TagList.new([Locale::Tag::Posix.new("zh", "CN", "UTF-8"),
161
- Locale::Tag::Posix.new("ja", "JP")]), tags
161
+ assert_equal Locale::TagList.new([Locale::Tag::Posix.new("zh", "CN", "UTF-8"),
162
+ Locale::Tag::Posix.new("ja", "JP")]), tags
162
163
 
163
- assert_equal "Shift_JIS", Locale.charset
164
- end
164
+ assert_equal "Shift_JIS", Locale.charset
165
+ end
165
166
 
166
- def test_language_strip
167
- ENV["LC_ALL"] = "ja_JP.Shift_JIS"
168
- ENV["LANGUAGE"] = nil
167
+ test "LC_ALL=C" do
168
+ ENV["LC_ALL"] = "C"
169
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
169
170
 
170
- tags = Locale.current
171
- assert_equal 1, tags.size
172
- assert_equal Locale::Tag::Posix, tags[0].class
173
- assert_equal "ja", tags.language
174
- assert_equal "ja", tags[0].language
175
- Locale.clear
176
- ENV["LANGUAGE"] = ""
171
+ assert_equal([Locale::Tag::Simple.new("en")],
172
+ Locale.current)
173
+ end
177
174
 
178
- tags = Locale.current
179
- assert_equal 1, tags.size
180
- assert_equal Locale::Tag::Posix, tags[0].class
181
- assert_equal "ja", tags.language
182
- assert_equal "ja", tags[0].language
183
- Locale.clear
184
- ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
175
+ test "LC_MESSAGES=C" do
176
+ ENV["LC_MESSAGES"] = "C"
177
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
178
+
179
+ assert_equal([Locale::Tag::Simple.new("en")],
180
+ Locale.current)
181
+ end
182
+
183
+ test "LANG=C" do
184
+ ENV["LANG"] = "C"
185
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
186
+
187
+ assert_equal([Locale::Tag::Simple.new("en")],
188
+ Locale.current)
189
+ end
190
+
191
+ test "LC_ALL and LC_MESSAGES=C" do
192
+ ENV["LC_ALL"] = "ja_JP.Shift_JIS"
193
+ ENV["LC_MESSAGES"] = "C"
194
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
185
195
 
186
- tags = Locale.current
187
- assert_equal 2, tags.size
188
- assert_equal Locale::Tag::Posix, tags[0].class
189
- assert_equal Locale::Tag::Posix, tags[1].class
190
- assert_equal "zh", tags.language
191
- assert_equal "zh", tags[0].language
192
- assert_equal "ja", tags[1].language
196
+ assert_equal([
197
+ Locale::Tag::Posix.new("zh", "CN", "UTF-8"),
198
+ Locale::Tag::Posix.new("ja", "JP"),
199
+ ],
200
+ Locale.current)
201
+ end
202
+
203
+ test "LC_ALL and LANG=C" do
204
+ ENV["LC_ALL"] = "ja_JP.Shift_JIS"
205
+ ENV["LANG"] = "C"
206
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
207
+
208
+ assert_equal([
209
+ Locale::Tag::Posix.new("zh", "CN", "UTF-8"),
210
+ Locale::Tag::Posix.new("ja", "JP"),
211
+ ],
212
+ Locale.current)
213
+ end
214
+
215
+ test "LC_ALL=C and LC_MESSAGES" do
216
+ ENV["LC_ALL"] = "C"
217
+ ENV["LC_MESSAGES"] = "ja_JP.Shift_JIS"
218
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
219
+
220
+ assert_equal([Locale::Tag::Simple.new("en")],
221
+ Locale.current)
222
+ end
223
+
224
+ test "LC_ALL=C and LANG" do
225
+ ENV["LC_ALL"] = "C"
226
+ ENV["LANG"] = "ja_JP.Shift_JIS"
227
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
228
+
229
+ assert_equal([Locale::Tag::Simple.new("en")],
230
+ Locale.current)
231
+ end
232
+
233
+ test "LC_MESSAGES=C and LANG" do
234
+ ENV["LC_MESSAGES"] = "C"
235
+ ENV["LANG"] = "ja_JP.Shift_JIS"
236
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP" # ignored
237
+
238
+ assert_equal([Locale::Tag::Simple.new("en")],
239
+ Locale.current)
240
+ end
241
+
242
+ test "strip" do
243
+ ENV["LC_ALL"] = "ja_JP.Shift_JIS"
244
+ ENV["LANGUAGE"] = nil
245
+
246
+ tags = Locale.current
247
+ assert_equal 1, tags.size
248
+ assert_equal Locale::Tag::Posix, tags[0].class
249
+ assert_equal "ja", tags.language
250
+ assert_equal "ja", tags[0].language
251
+ Locale.clear
252
+ ENV["LANGUAGE"] = ""
253
+
254
+ tags = Locale.current
255
+ assert_equal 1, tags.size
256
+ assert_equal Locale::Tag::Posix, tags[0].class
257
+ assert_equal "ja", tags.language
258
+ assert_equal "ja", tags[0].language
259
+ Locale.clear
260
+ ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
261
+
262
+ tags = Locale.current
263
+ assert_equal 2, tags.size
264
+ assert_equal Locale::Tag::Posix, tags[0].class
265
+ assert_equal Locale::Tag::Posix, tags[1].class
266
+ assert_equal "zh", tags.language
267
+ assert_equal "zh", tags[0].language
268
+ assert_equal "ja", tags[1].language
269
+ end
193
270
  end
194
271
 
195
272
  def test_no_charset
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locale
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-16 00:00:00.000000000 Z
12
+ date: 2015-09-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake