Permalink
Browse files

Merge branch 'hotfix/0.0.1.1'

  • Loading branch information...
2 parents 1f9f0c2 + 3eb628c commit b3654cfc9ecf60834c9ab580147fa4be79e6b5cc @jhass jhass committed Oct 9, 2012
Showing with 57 additions and 3 deletions.
  1. +4 −0 Changelog.md
  2. +1 −1 config/defaults.yml
  3. +2 −2 config/locales/cldr/plurals.rb
  4. +50 −0 spec/locale_spec.rb
View
@@ -1,3 +1,7 @@
+# 0.0.1.1
+
+Fix syntax error in French Javascript pluralization rule.
+
# 0.0.1.0
## New configuration system!
View
@@ -4,7 +4,7 @@
defaults:
version:
- number: "0.0.1.0"
+ number: "0.0.1.1"
release: true # Do not touch unless in a merge conflict on doing a release, master should have a commit setting this to true which is not backported to the develop branch.
heroku: false
environment:
@@ -15,7 +15,7 @@
:eu => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n == 1 ? :one : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : "other" }' } } },
:fi => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n == 1 ? :one : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : "other" }' } } },
:fil => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| [0, 1].include?(n) ? :one : :other }, :js_rule => 'function (n) { return jQuery.inArray(n, [0, 1]) != -1 ? "one" : "other" }' } } },
- :fr => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n.between?(0, 2) && n != 2 ? :one : :other }, :js_rule => 'function (n) { return n.between?(0, 2) && n != 2 ? "one" : "other" }' } } },
+ :fr => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n.between?(0, 2) && n != 2 ? :one : :other }, :js_rule => 'function (n) { return n >= 0 && n <= 2 && n != 2 ? "one" : "other" }' } } },
:ga => { :i18n => {:plural => { :keys => [:one, :two, :few, :many, :other], :rule => lambda { |n| n == 1 ? :one : n == 2 ? :two : [3, 4, 5, 6].include?(n) ? :few : [7, 8, 9, 10].include?(n) ? :many : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : n == 2 ? "two" : jQuery.inArray(n, [3, 4, 5, 6]) != -1 ? "few" : jQuery.inArray(n, [7, 8, 9, 10]) != -1 ? "many" : "other" }' } } },
:gl => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n == 1 ? :one : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : "other" }' } } },
:he => { :i18n => {:plural => { :keys => [:one, :two, :many, :other], :rule => lambda { |n| n == 1 ? :one : n == 2 ? :two : n != 0 ? :many : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : n == 2 ? "two" : n != 0 ? "many" : "other" }' } } },
@@ -49,4 +49,4 @@
:ur => { :i18n => {:plural => { :keys => [:one, :other], :rule => lambda { |n| n == 1 ? :one : :other }, :js_rule => 'function (n) { return n == 1 ? "one" : "other" }' } } },
:vi => { :i18n => {:plural => { :keys => [:other], :rule => lambda { |n| :other }, :js_rule => 'function (n) { return "other" }' } } },
:zh => { :i18n => {:plural => { :keys => [:other], :rule => lambda { |n| :other }, :js_rule => 'function (n) { return "other" }' } } }
-}
+}
View
@@ -0,0 +1,50 @@
+require 'spec_helper'
+
+describe 'locale files' do
+ describe "cldr/plurals.rb" do
+ AVAILABLE_LANGUAGE_CODES.each do |locale|
+ describe "#{locale} plural rules" do
+ it "defines the keys" do
+ I18n.with_locale locale do
+ expect {
+ I18n.t 'i18n.plural.keys'
+ }.to_not raise_error
+ end
+ end
+
+ it "defines a valid pluralization function" do
+ I18n.with_locale locale do
+ expect {
+ rule = I18n.t 'i18n.plural.rule', resolve: false
+ rule.call(1)
+ }.to_not raise_error
+ end
+ end
+
+ it "defines a valid javascript pluralization function" do
+ I18n.with_locale locale do
+ expect {
+ ExecJS.eval I18n.t('i18n.plural.js_rule')
+ }.to_not raise_error
+ end
+ end
+ end
+ end
+ end
+
+ AVAILABLE_LANGUAGE_CODES.each do |locale|
+ ["diaspora/#{locale}.yml",
+ "devise/devise.#{locale}.yml",
+ "javascript/javascript.#{locale}.yml"].each do |file|
+ describe file do
+ it "has no syntax errors if it exists" do
+ file = Rails.root.join("config", "locales", file)
+ pending "Not yet available" unless File.exists? file
+ expect {
+ YAML.load_file file
+ }.to_not raise_error
+ end
+ end
+ end
+ end
+end

0 comments on commit b3654cf

Please sign in to comment.