| // Copyright 2013 The Closure Library Authors. All Rights Reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS-IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| goog.provide('goog.i18n.pluralRulesTest'); |
| goog.setTestOnly('goog.i18n.pluralRulesTest'); |
| |
| goog.require('goog.i18n.pluralRules'); |
| goog.require('goog.testing.jsunit'); |
| |
| |
| /** @suppress {missingRequire} */ |
| var Keyword = goog.i18n.pluralRules.Keyword; |
| |
| function testSimpleSelectEn() { |
| var funcSelect = goog.i18n.pluralRules.enSelect_; |
| |
| assertEquals(Keyword.OTHER, funcSelect(0)); // 0 dollars |
| assertEquals(Keyword.ONE, funcSelect(1)); // 1 dollar |
| assertEquals(Keyword.OTHER, funcSelect(2)); // 2 dollars |
| |
| assertEquals(Keyword.OTHER, funcSelect(0, 2)); // 0.00 dollars |
| assertEquals(Keyword.OTHER, funcSelect(1, 2)); // 1.00 dollars |
| assertEquals(Keyword.OTHER, funcSelect(2, 2)); // 2.00 dollars |
| } |
| |
| function testSimpleSelectRo() { |
| var funcSelect = goog.i18n.pluralRules.roSelect_; |
| |
| assertEquals(Keyword.FEW, funcSelect(0)); // 0 dolari |
| assertEquals(Keyword.ONE, funcSelect(1)); // 1 dolar |
| assertEquals(Keyword.FEW, funcSelect(2)); // 2 dolari |
| assertEquals(Keyword.FEW, funcSelect(12)); // 12 dolari |
| assertEquals(Keyword.OTHER, funcSelect(23)); // 23 de dolari |
| assertEquals(Keyword.FEW, funcSelect(1212)); // 1212 dolari |
| assertEquals(Keyword.OTHER, funcSelect(1223)); // 1223 de dolari |
| |
| assertEquals(Keyword.FEW, funcSelect(0, 2)); // 0.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(1, 2)); // 1.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(2, 2)); // 2.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(12, 2)); // 12.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(23, 2)); // 23.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(1212, 2)); // 1212.00 dolari |
| assertEquals(Keyword.FEW, funcSelect(1223, 2)); // 1223.00 dolari |
| } |
| |
| function testSimpleSelectSr() { |
| var funcSelect = goog.i18n.pluralRules.srSelect_; // Serbian |
| |
| assertEquals(Keyword.ONE, funcSelect(1)); |
| assertEquals(Keyword.ONE, funcSelect(31)); |
| assertEquals(Keyword.ONE, funcSelect(0.1)); |
| assertEquals(Keyword.ONE, funcSelect(1.1)); |
| assertEquals(Keyword.ONE, funcSelect(2.1)); |
| |
| assertEquals(Keyword.FEW, funcSelect(3)); |
| assertEquals(Keyword.FEW, funcSelect(33)); |
| assertEquals(Keyword.FEW, funcSelect(0.2)); |
| assertEquals(Keyword.FEW, funcSelect(0.3)); |
| assertEquals(Keyword.FEW, funcSelect(0.4)); |
| assertEquals(Keyword.FEW, funcSelect(2.2)); |
| |
| assertEquals(Keyword.OTHER, funcSelect(2.11)); |
| assertEquals(Keyword.OTHER, funcSelect(2.12)); |
| assertEquals(Keyword.OTHER, funcSelect(2.13)); |
| assertEquals(Keyword.OTHER, funcSelect(2.14)); |
| assertEquals(Keyword.OTHER, funcSelect(2.15)); |
| |
| assertEquals(Keyword.OTHER, funcSelect(0)); |
| assertEquals(Keyword.OTHER, funcSelect(5)); |
| assertEquals(Keyword.OTHER, funcSelect(10)); |
| assertEquals(Keyword.OTHER, funcSelect(35)); |
| assertEquals(Keyword.OTHER, funcSelect(37)); |
| assertEquals(Keyword.OTHER, funcSelect(40)); |
| assertEquals(Keyword.OTHER, funcSelect(0.0, 1)); |
| assertEquals(Keyword.OTHER, funcSelect(0.5)); |
| assertEquals(Keyword.OTHER, funcSelect(0.6)); |
| |
| assertEquals(Keyword.FEW, funcSelect(2)); |
| assertEquals(Keyword.ONE, funcSelect(2.1)); |
| assertEquals(Keyword.FEW, funcSelect(2.2)); |
| assertEquals(Keyword.FEW, funcSelect(2.3)); |
| assertEquals(Keyword.FEW, funcSelect(2.4)); |
| assertEquals(Keyword.OTHER, funcSelect(2.5)); |
| |
| assertEquals(Keyword.OTHER, funcSelect(20)); |
| assertEquals(Keyword.ONE, funcSelect(21)); |
| assertEquals(Keyword.FEW, funcSelect(22)); |
| assertEquals(Keyword.FEW, funcSelect(23)); |
| assertEquals(Keyword.FEW, funcSelect(24)); |
| assertEquals(Keyword.OTHER, funcSelect(25)); |
| } |