use Symfony\Component\Translation\IdentityTranslator;
use Symfony\Component\Translation\PseudoLocalizationTranslator;
final class PseudoLocalizationTranslatorTest extends TestCase
{ /**
* @dataProvider provideTrans
*/
public function testTrans(string
$expected, string
$input, array
$options =
[]) { mt_srand(987
);
$this->
assertSame($expected,
(new PseudoLocalizationTranslator(new IdentityTranslator(),
$options))->
trans($input));
} public static function provideTrans(): array
{ return [ ['[ƒöö⭐ ≤þ≥ƁÅŔ≤⁄þ≥]', 'foo⭐ <p>BAR</p>'
], // Test defaults
['before <div data-label="fcy"><a href="#" title="bar" data-content="ccc">foo</a></div> after', 'before <div data-label="fcy"><a href="#" title="bar" data-content="ccc">foo</a></div> after', self::
getIsolatedOptions(['parse_html' => true
])],
['ƀéƒöŕé <div data-label="fcyéé"><a href="#" title="bar" data-content="ccc">ƒöö éé</a></div> åƒţéŕ', 'before <div data-label="fcyéé"><a href="#" title="bar" data-content="ccc">foo éé</a></div> after', self::
getIsolatedOptions(['parse_html' => true, 'accents' => true
])],
['ƀéƒöŕé <div data-label="ƒçý"><a href="#" title="ƀåŕ" data-content="ccc">ƒöö</a></div> åƒţéŕ', 'before <div data-label="fcy"><a href="#" title="bar" data-content="ccc">foo</a></div> after', self::
getIsolatedOptions(['parse_html' => true, 'localizable_html_attributes' =>
['data-label', 'title'
], 'accents' => true
])],
[' ¡″♯€‰⅋´{}⁎⁺،‐·⁄⓪①②③④⑤⑥⑦⑧⑨∶⁏≤≂≥¿՞ÅƁÇÐÉƑĜĤÎĴĶĻṀÑÖÞǪŔŠŢÛṼŴẊÝŽ⁅∖⁆˄‿‵åƀçðéƒĝĥîĵķļɱñöþǫŕšţûṽŵẋýž(¦)˞', ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~', self::
getIsolatedOptions(['accents' => true
])],
['foo <p>bar</p> ~~~~~~~~~~ ~~', 'foo <p>bar</p>', self::
getIsolatedOptions(['expansion_factor' => 2.0
])],
[