Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@..

Decoded Output download

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\String\Tests\Inflector;

use PHPUnit\Framework\TestCase;
use Symfony\Component\String\Inflector\FrenchInflector;

class FrenchInflectorTest extends TestCase
{
    public static function pluralizeProvider()
    {
        return [
            // Le pluriel par dfaut
            ['voiture', 'voitures'],
            // special characters
            ['uf', 'ufs'],
            ['oeuf', 'oeufs'],

            // Les mots finissant par s, x, z sont invariables en nombre
            ['bois', 'bois'],
            ['fils', 'fils'],
            ['hros', 'hros'],
            ['nez', 'nez'],
            ['rictus', 'rictus'],
            ['sans', 'sans'],
            ['souris', 'souris'],
            ['tas', 'tas'],
            ['toux', 'toux'],

            // Les mots finissant en eau prennent tous un x au pluriel
            ['eau', 'eaux'],
            ['sceau', 'sceaux'],

            // Les mots finissant en au prennent tous un x au pluriel sauf landau
            ['noyau', 'noyaux'],
            ['landau', 'landaus'],

            // Les mots finissant en eu prennent un x au pluriel sauf pneu, bleu et meu
            ['pneu', 'pneus'],
            ['bleu', 'bleus'],
            ['meu', 'meus'],
            ['cheveu', 'cheveux'],

            // Les mots finissant en al se terminent en aux au pluriel
            ['amiral', 'amiraux'],
            ['animal', 'animaux'],
            ['arsenal', 'arsenaux'],
            ['bocal', 'bocaux'],
            ['canal', 'canaux'],
            ['capital', 'capitaux'],
            ['caporal', 'caporaux'],
            ['cheval', 'chevaux'],
            ['cristal', 'cristaux'],
            ['gnral', 'gnraux'],
            ['hopital', 'hopitaux'],
            ['hpital', 'hpitaux'],
            ['idal', 'idaux'],
            ['journal', 'journaux'],
            ['littoral', 'littoraux'],
            ['local', 'locaux'],
            ['mal', 'maux'],
            ['mtal', 'mtaux'],
            ['minral', 'minraux'],
            ['principal', 'principaux'],
            ['radical', 'radicaux'],
            ['terminal', 'terminaux'],

            // sauf bal, carnaval, caracal, chacal, choral, corral, tal, festival, rcital et val
            ['bal', 'bals'],
            ['carnaval', 'carnavals'],
            ['caracal', 'caracals'],
            ['chacal', 'chacals'],
            ['choral', 'chorals'],
            ['corral', 'corrals'],
            ['tal', 'tals'],
            ['festival', 'festivals'],
            ['rcital', 'rcitals'],
            ['val', 'vals'],

            // Les noms termins en -ail prennent un s au pluriel.
            ['portail', 'portails'],
            ['rail', 'rails'],

            // SAUF aspirail, bail, corail, mail, fermail, soupirail, travail, vantail et vitrail qui font leur pluriel en -aux
            ['aspirail', 'aspiraux'],
            ['bail', 'baux'],
            ['corail', 'coraux'],
            ['mail', 'maux'],
            ['fermail', 'fermaux'],
            ['soupirail', 'soupiraux'],
            ['travail', 'travaux'],
            ['vantail', 'vantaux'],
            ['vitrail', 'vitraux'],

            // Les noms termins en -ou prennent un s au pluriel.
            ['trou', 'trous'],
            ['fou', 'fous'],

            // SAUF Bijou, caillou, chou, genou, hibou, joujou et pou qui prennent un x au pluriel
            ['bijou', 'bijoux'],
            ['caillou', 'cailloux'],
            ['chou', 'choux'],
            ['genou', 'genoux'],
            ['hibou', 'hiboux'],
            ['joujou', 'joujoux'],
            ['pou', 'poux'],

            // Inflected word
            ['cinquante', 'cinquante'],
            ['soixante', 'soixante'],
            ['mille', 'mille'],

            // Titles
            ['monsieur', 'messieurs'],
            ['madame', 'mesdames'],
            ['mademoiselle', 'mesdemoiselles'],
            ['monseigneur', 'messeigneurs'],
        ];
    }

    /**
     * @dataProvider pluralizeProvider
     */
    public function testSingularize(string $singular, string $plural)
    {
        $this->assertSame([$singular], (new FrenchInflector())->singularize($plural));
        // test casing: if the first letter was uppercase, it should remain so
        $this->assertSame([ucfirst($singular)], (new FrenchInflector())->singularize(ucfirst($plural)));
    }

    /**
     * @dataProvider pluralizeProvider
     */
    public function testPluralize(string $singular, string $plural)
    {
        $this->assertSame([$plural], (new FrenchInflector())->pluralize($singular));
        // test casing: if the first letter was uppercase, it should remain so
        $this->assertSame([ucfirst($plural)], (new FrenchInflector())->pluralize(ucfirst($singular)));
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\String\Tests\Inflector;

use PHPUnit\Framework\TestCase;
use Symfony\Component\String\Inflector\FrenchInflector;

class FrenchInflectorTest extends TestCase
{
    public static function pluralizeProvider()
    {
        return [
            // Le pluriel par dfaut
            ['voiture', 'voitures'],
            // special characters
            ['uf', 'ufs'],
            ['oeuf', 'oeufs'],

            // Les mots finissant par s, x, z sont invariables en nombre
            ['bois', 'bois'],
            ['fils', 'fils'],
            ['hros', 'hros'],
            ['nez', 'nez'],
            ['rictus', 'rictus'],
            ['sans', 'sans'],
            ['souris', 'souris'],
            ['tas', 'tas'],
            ['toux', 'toux'],

            // Les mots finissant en eau prennent tous un x au pluriel
            ['eau', 'eaux'],
            ['sceau', 'sceaux'],

            // Les mots finissant en au prennent tous un x au pluriel sauf landau
            ['noyau', 'noyaux'],
            ['landau', 'landaus'],

            // Les mots finissant en eu prennent un x au pluriel sauf pneu, bleu et meu
            ['pneu', 'pneus'],
            ['bleu', 'bleus'],
            ['meu', 'meus'],
            ['cheveu', 'cheveux'],

            // Les mots finissant en al se terminent en aux au pluriel
            ['amiral', 'amiraux'],
            ['animal', 'animaux'],
            ['arsenal', 'arsenaux'],
            ['bocal', 'bocaux'],
            ['canal', 'canaux'],
            ['capital', 'capitaux'],
            ['caporal', 'caporaux'],
            ['cheval', 'chevaux'],
            ['cristal', 'cristaux'],
            ['gnral', 'gnraux'],
            ['hopital', 'hopitaux'],
            ['hpital', 'hpitaux'],
            ['idal', 'idaux'],
            ['journal', 'journaux'],
            ['littoral', 'littoraux'],
            ['local', 'locaux'],
            ['mal', 'maux'],
            ['mtal', 'mtaux'],
            ['minral', 'minraux'],
            ['principal', 'principaux'],
            ['radical', 'radicaux'],
            ['terminal', 'terminaux'],

            // sauf bal, carnaval, caracal, chacal, choral, corral, tal, festival, rcital et val
            ['bal', 'bals'],
            ['carnaval', 'carnavals'],
            ['caracal', 'caracals'],
            ['chacal', 'chacals'],
            ['choral', 'chorals'],
            ['corral', 'corrals'],
            ['tal', 'tals'],
            ['festival', 'festivals'],
            ['rcital', 'rcitals'],
            ['val', 'vals'],

            // Les noms termins en -ail prennent un s au pluriel.
            ['portail', 'portails'],
            ['rail', 'rails'],

            // SAUF aspirail, bail, corail, mail, fermail, soupirail, travail, vantail et vitrail qui font leur pluriel en -aux
            ['aspirail', 'aspiraux'],
            ['bail', 'baux'],
            ['corail', 'coraux'],
            ['mail', 'maux'],
            ['fermail', 'fermaux'],
            ['soupirail', 'soupiraux'],
            ['travail', 'travaux'],
            ['vantail', 'vantaux'],
            ['vitrail', 'vitraux'],

            // Les noms termins en -ou prennent un s au pluriel.
            ['trou', 'trous'],
            ['fou', 'fous'],

            // SAUF Bijou, caillou, chou, genou, hibou, joujou et pou qui prennent un x au pluriel
            ['bijou', 'bijoux'],
            ['caillou', 'cailloux'],
            ['chou', 'choux'],
            ['genou', 'genoux'],
            ['hibou', 'hiboux'],
            ['joujou', 'joujoux'],
            ['pou', 'poux'],

            // Inflected word
            ['cinquante', 'cinquante'],
            ['soixante', 'soixante'],
            ['mille', 'mille'],

            // Titles
            ['monsieur', 'messieurs'],
            ['madame', 'mesdames'],
            ['mademoiselle', 'mesdemoiselles'],
            ['monseigneur', 'messeigneurs'],
        ];
    }

    /**
     * @dataProvider pluralizeProvider
     */
    public function testSingularize(string $singular, string $plural)
    {
        $this->assertSame([$singular], (new FrenchInflector())->singularize($plural));
        // test casing: if the first letter was uppercase, it should remain so
        $this->assertSame([ucfirst($singular)], (new FrenchInflector())->singularize(ucfirst($plural)));
    }

    /**
     * @dataProvider pluralizeProvider
     */
    public function testPluralize(string $singular, string $plural)
    {
        $this->assertSame([$plural], (new FrenchInflector())->pluralize($singular));
        // test casing: if the first letter was uppercase, it should remain so
        $this->assertSame([ucfirst($plural)], (new FrenchInflector())->pluralize(ucfirst($singular)));
    }
}

Function Calls

None

Variables

None

Stats

MD5 485394b91d0bfcf379859a79ceea56c7
Eval Count 0
Decode Time 88 ms