SOURCE CODE: Uize.Test.Uize.Loc.Plurals.RuleParser

VIEW REFERENCE

/*______________
|       ______  |   U I Z E    J A V A S C R I P T    F R A M E W O R K
|     /      /  |   ---------------------------------------------------
|    /    O /   |    MODULE : Uize.Test.Uize.Loc.Plurals.RuleParser Class
|   /    / /    |
|  /    / /  /| |    ONLINE : http://uize.com
| /____/ /__/_| | COPYRIGHT : (c)2014 UIZE
|          /___ |   LICENSE : Available under MIT License or GNU General Public License
|_______________|             http://uize.com/license.html
*/

/* Module Meta Data
  type: Test
  importance: 1
  codeCompleteness: 2
  docCompleteness: 100
*/

/*?
  Introduction
    The =Uize.Test.Uize.Loc.Plurals.RuleParser= module defines a suite of unit tests for the =Uize.Loc.Plurals.RuleParser= module.

    *DEVELOPERS:* `Chris van Rensburg`
*/

Uize.module ({
  name:'Uize.Test.Uize.Loc.Plurals.RuleParser',
  builder:function () {
    'use strict';

    return Uize.Test.resolve ({
      title:'Test for Uize.Loc.Plurals.RuleParser Module',
      test:[
        Uize.Test.requiredModulesTest ('Uize.Loc.Plurals.RuleParser'),
        Uize.Test.staticMethodsTest ([
          ['Uize.Loc.Plurals.RuleParser.ruleToJs',[
            ['',
              'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',
              'within (n % 10,[[3,4],9]) && within (n % 100,[[10,19],[70,79],[90,99]])'
            ]/*,
            ['',
              'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …',
              ''
            ]
            */
          ]]
          /*
          ['Uize.Loc.Plurals.RuleParser.rulesToJsFunction',[
            ['',
              {
                zero:'n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000',
                one:'n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000',
                two:'n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000',
                few:'n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …',
                many:'n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …',
                other:' @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …'
              },
              ''
            ]
          ]]
          */
        ])
      ]
    });
  }
});