Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

fix french javascript pluralization rule and add specs for locale loa…

…ding
  • Loading branch information...
commit 3eb628c2a323d5c2c104a262592af7b8db08fd6e 1 parent 1f9f0c2
@jhass jhass authored
View
4 Changelog.md
@@ -1,3 +1,7 @@
+# 0.0.1.1
+
+Fix syntax error in French Javascript pluralization rule.
+
# 0.0.1.0
## New configuration system!
View
2  config/defaults.yml
@@ -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:
View
4 config/locales/cldr/plurals.rb
@@ -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
50 spec/locale_spec.rb
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.