i18n-js 3.0.0.rc2 → 3.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ pkg
@@ -1,35 +1,35 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- i18n-js (3.0.0.rc2)
4
+ i18n-js (3.0.0.rc3)
5
5
  i18n
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- activesupport (3.2.3)
10
+ activesupport (3.2.8)
11
11
  i18n (~> 0.6)
12
12
  multi_json (~> 1.0)
13
- awesome_print (1.0.2)
14
- coderay (1.0.6)
13
+ awesome_print (1.1.0)
14
+ coderay (1.0.8)
15
15
  diff-lcs (1.1.3)
16
- i18n (0.6.0)
17
- method_source (0.7.1)
18
- multi_json (1.3.2)
19
- pry (0.9.9.3)
16
+ i18n (0.6.1)
17
+ method_source (0.8.1)
18
+ multi_json (1.3.6)
19
+ pry (0.9.10)
20
20
  coderay (~> 1.0.5)
21
- method_source (~> 0.7.1)
22
- slop (>= 2.4.4, < 3)
21
+ method_source (~> 0.8)
22
+ slop (~> 3.3.1)
23
23
  rake (0.9.2.2)
24
- rspec (2.9.0)
25
- rspec-core (~> 2.9.0)
26
- rspec-expectations (~> 2.9.0)
27
- rspec-mocks (~> 2.9.0)
28
- rspec-core (2.9.0)
29
- rspec-expectations (2.9.1)
24
+ rspec (2.11.0)
25
+ rspec-core (~> 2.11.0)
26
+ rspec-expectations (~> 2.11.0)
27
+ rspec-mocks (~> 2.11.0)
28
+ rspec-core (2.11.1)
29
+ rspec-expectations (2.11.3)
30
30
  diff-lcs (~> 1.1.3)
31
- rspec-mocks (2.9.0)
32
- slop (2.4.4)
31
+ rspec-mocks (2.11.3)
32
+ slop (3.3.3)
33
33
 
34
34
  PLATFORMS
35
35
  ruby
data/README.md CHANGED
@@ -267,6 +267,10 @@ The only requirement is that you need to set the `translations` attribute like f
267
267
  message: "Uma mensagem especial para você"
268
268
  }
269
269
 
270
+ ## Troubleshooting
271
+
272
+ 1. Want to support oldIE? Then you need to include something like [augment.js](http://augmentjs.com) or [es5-shim](https://github.com/kriskowal/es5-shim/).
273
+
270
274
  ## Maintainer
271
275
 
272
276
  - Nando Vieira - <http://nandovieira.com.br>
@@ -355,24 +355,16 @@
355
355
 
356
356
  formattedNumber = buffer.join(options.delimiter);
357
357
 
358
- if (options.precision > 0) {
359
- formattedNumber += options.separator + parts[1];
358
+ if (options.strip_insignificant_zeros && precision) {
359
+ precision = precision.replace(/0+$/, "");
360
360
  }
361
361
 
362
- if (negative) {
363
- formattedNumber = "-" + formattedNumber;
362
+ if (options.precision > 0 && precision) {
363
+ formattedNumber += options.separator + precision;
364
364
  }
365
365
 
366
- if (options.strip_insignificant_zeros) {
367
- var regex = {
368
- separator: new RegExp(options.separator.replace(/\./, "\\.") + "$")
369
- , zeros: /0+$/
370
- };
371
-
372
- formattedNumber = formattedNumber
373
- .replace(regex.zeros, "")
374
- .replace(regex.separator, "")
375
- ;
366
+ if (negative) {
367
+ formattedNumber = "-" + formattedNumber;
376
368
  }
377
369
 
378
370
  return formattedNumber;
@@ -659,41 +651,3 @@
659
651
  I18n.l = I18n.localize;
660
652
  I18n.p = I18n.pluralize;
661
653
  })(typeof(exports) === "undefined" ? this["I18n"] = {} : exports);
662
-
663
- // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf
664
- if (!Array.prototype.indexOf) {
665
- Array.prototype.indexOf = function(searchElement /*, fromIndex */) {
666
- "use strict";
667
-
668
- if (this === void 0 || this === null)
669
- throw new TypeError();
670
-
671
- var t = Object(this);
672
- var len = t.length >>> 0;
673
- if (len === 0)
674
- return -1;
675
-
676
- var n = 0;
677
- if (arguments.length > 0) {
678
- n = Number(arguments[1]);
679
- if (n !== n) // shortcut for verifying if it's NaN
680
- n = 0;
681
- else if (n !== 0 && n !== (Infinity) && n !== -(Infinity))
682
- n = (n > 0 || -1) * Math.floor(Math.abs(n));
683
- }
684
-
685
- if (n >= len)
686
- return -1;
687
-
688
- var k = n >= 0
689
- ? n
690
- : Math.max(len - Math.abs(n), 0);
691
-
692
- for (; k < len; k++) {
693
- if (k in t && t[k] === searchElement)
694
- return k;
695
- }
696
- return -1;
697
- };
698
- }
699
- ;
@@ -4,7 +4,7 @@ module I18n
4
4
  MAJOR = 3
5
5
  MINOR = 0
6
6
  PATCH = 0
7
- STRING = "#{MAJOR}.#{MINOR}.#{PATCH}.rc2"
7
+ STRING = "#{MAJOR}.#{MINOR}.#{PATCH}.rc3"
8
8
  end
9
9
  end
10
10
  end
@@ -121,4 +121,22 @@ describe("Numbers", function(){
121
121
  it("returns number as human size using custom options", function(){
122
122
  expect(I18n.toHumanSize(1024 * 1.6, {precision: 0})).toEqual("2KB");
123
123
  });
124
+
125
+ it("formats numbers with strip insignificant zero", function() {
126
+ options = {separator: ".", delimiter: ",", strip_insignificant_zeros: true};
127
+
128
+ options["precision"] = 2;
129
+ expect(I18n.toNumber(1.0, options)).toEqual("1");
130
+
131
+ options["precision"] = 3;
132
+ expect(I18n.toNumber(1.98, options)).toEqual("1.98");
133
+
134
+ options["precision"] = 4;
135
+ expect(I18n.toNumber(1.987, options)).toEqual("1.987");
136
+ });
137
+
138
+ it("keeps significant zeros [issue#103]", function() {
139
+ actual = I18n.toNumber(30, {strip_insignificant_zeros: true, precision: 0});
140
+ expect(actual).toEqual("30");
141
+ });
124
142
  });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-js
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc2
4
+ version: 3.0.0.rc3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-10 00:00:00.000000000 Z
12
+ date: 2012-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -114,6 +114,7 @@ executables: []
114
114
  extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
+ - .gitignore
117
118
  - Gemfile
118
119
  - Gemfile.lock
119
120
  - README.md
@@ -167,9 +168,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
168
  - - ! '>='
168
169
  - !ruby/object:Gem::Version
169
170
  version: '0'
170
- segments:
171
- - 0
172
- hash: 4215591536209238864
173
171
  required_rubygems_version: !ruby/object:Gem::Requirement
174
172
  none: false
175
173
  requirements:
@@ -182,33 +180,4 @@ rubygems_version: 1.8.23
182
180
  signing_key:
183
181
  specification_version: 3
184
182
  summary: It's a small library to provide the Rails I18n translations on the Javascript.
185
- test_files:
186
- - spec/fixtures/custom_path.yml
187
- - spec/fixtures/default.yml
188
- - spec/fixtures/js_file_per_locale.yml
189
- - spec/fixtures/locales.yml
190
- - spec/fixtures/multiple_conditions.yml
191
- - spec/fixtures/multiple_files.yml
192
- - spec/fixtures/no_config.yml
193
- - spec/fixtures/no_scope.yml
194
- - spec/fixtures/simple_scope.yml
195
- - spec/i18n_js_spec.rb
196
- - spec/js/currency.spec.js
197
- - spec/js/current_locale.spec.js
198
- - spec/js/dates.spec.js
199
- - spec/js/defaults.spec.js
200
- - spec/js/interpolation.spec.js
201
- - spec/js/jasmine/MIT.LICENSE
202
- - spec/js/jasmine/jasmine-html.js
203
- - spec/js/jasmine/jasmine.css
204
- - spec/js/jasmine/jasmine.js
205
- - spec/js/jasmine/jasmine_favicon.png
206
- - spec/js/localization.spec.js
207
- - spec/js/numbers.spec.js
208
- - spec/js/placeholder.spec.js
209
- - spec/js/pluralization.spec.js
210
- - spec/js/prepare_options.spec.js
211
- - spec/js/specs.html
212
- - spec/js/translate.spec.js
213
- - spec/js/translations.js
214
- - spec/spec_helper.rb
183
+ test_files: []