Bug 1396724 - Add plural rule for Shuar language to intl/locale/PluralForm.jsm r=Pike
authorFrancesco Lodolo (:flod) <flod@lodolo.net>
Tue, 05 Sep 2017 08:37:55 +0200
changeset 444234 6b1f342836ba9405cb13714614c9e850f0bb1a29
parent 444233 1f5a9447c57a5416fbe0aa062bd31810b0ee2ff0
child 444235 1582c71d40d8502a38e09fccd0d5290bcaa45d0f
push id1618
push userCallek@gmail.com
push dateThu, 11 Jan 2018 17:45:48 +0000
treeherdermozilla-release@882ca853e05a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersPike
bugs1396724
milestone58.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1396724 - Add plural rule for Shuar language to intl/locale/PluralForm.jsm r=Pike MozReview-Commit-ID: 5HOVoaBHlGu
intl/locale/PluralForm.jsm
intl/locale/tests/unit/test_pluralForm.js
--- a/intl/locale/PluralForm.jsm
+++ b/intl/locale/PluralForm.jsm
@@ -65,16 +65,18 @@ var gFunctions = [
   // 13: Maltese
   [4, (n) => n==1?0:n==0||n%100>0&&n%100<=10?1:n%100>10&&n%100<20?2:3],
   // 14: Macedonian
   [3, (n) => n%10==1?0:n%10==2?1:2],
   // 15: Icelandic
   [2, (n) => n%10==1&&n%100!=11?0:1],
   // 16: Breton
   [5, (n) => n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?0:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?1:(n%10==3||n%10==4||n%10==9)&&n%100!=13&&n%100!=14&&n%100!=19&&n%100!=73&&n%100!=74&&n%100!=79&&n%100!=93&&n%100!=94&&n%100!=99?2:n%1000000==0&&n!=0?3:4],
+  // 17: Shuar
+  [2, (n) => n!=0?1:0],
 ];
 
 this.PluralForm = {
   /**
    * Get the correct plural form of a word based on the number
    *
    * @param aNum
    *        The number to decide which plural form to use
--- a/intl/locale/tests/unit/test_pluralForm.js
+++ b/intl/locale/tests/unit/test_pluralForm.js
@@ -584,16 +584,50 @@ function run_test()
     5,1,2,3,3,5,5,5,5,3,
     5,1,2,3,3,5,5,5,5,3,
     5,1,2,3,3,5,5,5,5,3,
     5,1,2,3,3,5,5,5,5,3,
     5,1,2,3,3,5,5,5,5,3,
     5,5,5,5,5,5,5,5,5,5,
     5,1,2,3,3,5,5,5,5,3,
     5,5,5,5,5,5,5,5,5,5,
+  ], [
+    // 17: Shuar 0-9, 10-19, ..., 90-99
+    1,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    // 100-109, 110-119, ..., 190-199
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    // 200-209, 210-219, ..., 290-299
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
+    2,2,2,2,2,2,2,2,2,2,
   ]];
 
   for (let [rule, expect] of allExpect.entries()) {
     print("\nTesting rule #" + rule);
 
     let [get, numForms] = PluralForm.makeGetter(rule);
 
     // Make sure the largest value expected matches the number of plural forms