function PoHeaderTest::providerTestPluralsFormula

Same name in other branches
  1. 8.9.x core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php \Drupal\Tests\Component\Gettext\PoHeaderTest::providerTestPluralsFormula()
  2. 10 core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php \Drupal\Tests\Component\Gettext\PoHeaderTest::providerTestPluralsFormula()
  3. 11.x core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php \Drupal\Tests\Component\Gettext\PoHeaderTest::providerTestPluralsFormula()

Data provider for testPluralsFormula.

Gets pairs of plural expressions and expected plural positions keyed by plural value.

Return value

array Pairs of plural expressions and expected plural positions keyed by plural value.

File

core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php, line 50

Class

PoHeaderTest
Unit tests for the Gettext PO file header handling features.

Namespace

Drupal\Tests\Component\Gettext

Code

public function providerTestPluralsFormula() {
    return [
        [
            'nplurals=1; plural=0;',
            [
                'default' => 0,
            ],
        ],
        [
            'nplurals=2; plural=(n > 1);',
            [
                0 => 0,
                1 => 0,
                'default' => 1,
            ],
        ],
        [
            'nplurals=2; plural=(n!=1);',
            [
                1 => 0,
                'default' => 1,
            ],
        ],
        [
            'nplurals=2; plural=(((n==1)||((n%10)==1))?(0):1);',
            [
                1 => 0,
                11 => 0,
                21 => 0,
                31 => 0,
                41 => 0,
                51 => 0,
                61 => 0,
                71 => 0,
                81 => 0,
                91 => 0,
                101 => 0,
                111 => 0,
                121 => 0,
                131 => 0,
                141 => 0,
                151 => 0,
                161 => 0,
                171 => 0,
                181 => 0,
                191 => 0,
                'default' => 1,
            ],
        ],
        [
            'nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));',
            [
                1 => 0,
                2 => 1,
                3 => 1,
                4 => 1,
                21 => 0,
                22 => 1,
                23 => 1,
                24 => 1,
                31 => 0,
                32 => 1,
                33 => 1,
                34 => 1,
                41 => 0,
                42 => 1,
                43 => 1,
                44 => 1,
                51 => 0,
                52 => 1,
                53 => 1,
                54 => 1,
                61 => 0,
                62 => 1,
                63 => 1,
                64 => 1,
                71 => 0,
                72 => 1,
                73 => 1,
                74 => 1,
                81 => 0,
                82 => 1,
                83 => 1,
                84 => 1,
                91 => 0,
                92 => 1,
                93 => 1,
                94 => 1,
                101 => 0,
                102 => 1,
                103 => 1,
                104 => 1,
                121 => 0,
                122 => 1,
                123 => 1,
                124 => 1,
                131 => 0,
                132 => 1,
                133 => 1,
                134 => 1,
                141 => 0,
                142 => 1,
                143 => 1,
                144 => 1,
                151 => 0,
                152 => 1,
                153 => 1,
                154 => 1,
                161 => 0,
                162 => 1,
                163 => 1,
                164 => 1,
                171 => 0,
                172 => 1,
                173 => 1,
                174 => 1,
                181 => 0,
                182 => 1,
                183 => 1,
                184 => 1,
                191 => 0,
                192 => 1,
                193 => 1,
                194 => 1,
                'default' => 2,
            ],
        ],
        [
            'nplurals=3; plural=((n==1)?(0):(((n>=2)&&(n<=4))?(1):2));',
            [
                1 => 0,
                2 => 1,
                3 => 1,
                4 => 1,
                'default' => 2,
            ],
        ],
        [
            'nplurals=3; plural=((n==1)?(0):(((n==0)||(((n%100)>0)&&((n%100)<20)))?(1):2));',
            [
                0 => 1,
                1 => 0,
                2 => 1,
                3 => 1,
                4 => 1,
                5 => 1,
                6 => 1,
                7 => 1,
                8 => 1,
                9 => 1,
                10 => 1,
                11 => 1,
                12 => 1,
                13 => 1,
                14 => 1,
                15 => 1,
                16 => 1,
                17 => 1,
                18 => 1,
                19 => 1,
                101 => 1,
                102 => 1,
                103 => 1,
                104 => 1,
                105 => 1,
                106 => 1,
                107 => 1,
                108 => 1,
                109 => 1,
                110 => 1,
                111 => 1,
                112 => 1,
                113 => 1,
                114 => 1,
                115 => 1,
                116 => 1,
                117 => 1,
                118 => 1,
                119 => 1,
                'default' => 2,
            ],
        ],
        [
            'nplurals=3; plural=((n==1)?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));',
            [
                1 => 0,
                2 => 1,
                3 => 1,
                4 => 1,
                22 => 1,
                23 => 1,
                24 => 1,
                32 => 1,
                33 => 1,
                34 => 1,
                42 => 1,
                43 => 1,
                44 => 1,
                52 => 1,
                53 => 1,
                54 => 1,
                62 => 1,
                63 => 1,
                64 => 1,
                72 => 1,
                73 => 1,
                74 => 1,
                82 => 1,
                83 => 1,
                84 => 1,
                92 => 1,
                93 => 1,
                94 => 1,
                102 => 1,
                103 => 1,
                104 => 1,
                122 => 1,
                123 => 1,
                124 => 1,
                132 => 1,
                133 => 1,
                134 => 1,
                142 => 1,
                143 => 1,
                144 => 1,
                152 => 1,
                153 => 1,
                154 => 1,
                162 => 1,
                163 => 1,
                164 => 1,
                172 => 1,
                173 => 1,
                174 => 1,
                182 => 1,
                183 => 1,
                184 => 1,
                192 => 1,
                193 => 1,
                194 => 1,
                'default' => 2,
            ],
        ],
        [
            'nplurals=4; plural=(((n==1)||(n==11))?(0):(((n==2)||(n==12))?(1):(((n>2)&&(n<20))?(2):3)));',
            [
                1 => 0,
                2 => 1,
                3 => 2,
                4 => 2,
                5 => 2,
                6 => 2,
                7 => 2,
                8 => 2,
                9 => 2,
                10 => 2,
                11 => 0,
                12 => 1,
                13 => 2,
                14 => 2,
                15 => 2,
                16 => 2,
                17 => 2,
                18 => 2,
                19 => 2,
                'default' => 3,
            ],
        ],
        [
            'nplurals=4; plural=(((n%100)==1)?(0):(((n%100)==2)?(1):((((n%100)==3)||((n%100)==4))?(2):3)));',
            [
                1 => 0,
                2 => 1,
                3 => 2,
                4 => 2,
                101 => 0,
                102 => 1,
                103 => 2,
                104 => 2,
                'default' => 3,
            ],
        ],
        [
            'nplurals=5; plural=((n==1)?(0):((n==2)?(1):((n<7)?(2):((n<11)?(3):4))));',
            [
                0 => 2,
                1 => 0,
                2 => 1,
                3 => 2,
                4 => 2,
                5 => 2,
                6 => 2,
                7 => 3,
                8 => 3,
                9 => 3,
                10 => 3,
                'default' => 4,
            ],
        ],
        [
            'nplurals=6; plural=((n==1)?(0):((n==0)?(1):((n==2)?(2):((((n%100)>=3)&&((n%100)<=10))?(3):((((n%100)>=11)&&((n%100)<=99))?(4):5)))));',
            [
                0 => 1,
                1 => 0,
                2 => 2,
                3 => 3,
                4 => 3,
                5 => 3,
                6 => 3,
                7 => 3,
                8 => 3,
                9 => 3,
                10 => 3,
                100 => 5,
                101 => 5,
                102 => 5,
                103 => 3,
                104 => 3,
                105 => 3,
                106 => 3,
                107 => 3,
                108 => 3,
                109 => 3,
                110 => 3,
                'default' => 4,
            ],
        ],
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.