Skip to content
Snippets Groups Projects
Commit cc638de2 authored by Shibin Das's avatar Shibin Das
Browse files

Issue #3496313 by d34dman: Implement Rule for "Four forms, special case for...

Issue #3496313 by d34dman: Implement Rule for "Four forms, special case for one and all numbers ending in 02, 03, or 04"
parent 39e56516
No related branches found
No related tags found
No related merge requests found
<?php
namespace Drupal\Tests\string_plural_form\Unit\StringPluralForm;
use Drupal\string_plural_form\Plugin\StringPluralForm\FourFormsSlavicType4;
use Drupal\Tests\UnitTestCase;
/**
* @coversDefaultClass \Drupal\string_plural_form\Plugin\StringPluralForm\FourFormsSlavicType4
* @group StringPluralFormPlugins
*/
class FourFormsSlavicType4Test extends UnitTestCase {
/**
* Tests \Drupal\string_plural_form\Plugin\StringPluralForm\\Drupal\string_plural_form\Plugin\StringPluralForm\FourFormsSlavicType4::getGettextNplurals()
*/
public function testGetGettextNplurals() {
$plugin = new FourFormsSlavicType4();
$this->assertEquals(4, $plugin->getGettextNplurals());
}
/**
* Tests \Drupal\string_plural_form\Plugin\StringPluralForm\\Drupal\string_plural_form\Plugin\StringPluralForm\FourFormsSlavicType4::getGettextNplurals()
*/
public function testGetGettextPlural() {
$plugin = new FourFormsSlavicType4();
$this->assertEquals("n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3", $plugin->getGettextPlural());
}
/**
* Tests \Drupal\string_plural_form\Plugin\StringPluralForm\\Drupal\string_plural_form\Plugin\StringPluralForm\FourFormsSlavicType4::getIndex()
*/
public function testGetIndex() {
$plugin = new FourFormsSlavicType4();
$expected_forms = [
0 => [1, 101],
1 => [2, 102],
2 => [3, 4, 103, 104],
3 => [
0, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 199,
],
];
foreach ($expected_forms as $index => $numbers) {
foreach ($numbers as $n) {
$this->assertEquals($index,
$plugin->getIndex($n));
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment