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 declare(strict_types=1); /** * Passbolt ~ Open source password manager for teams ..

Decoded Output download

<?php
declare(strict_types=1);

/**
 * Passbolt ~ Open source password manager for teams
 * Copyright (c) Passbolt SA (https://www.passbolt.com)
 *
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Passbolt SA (https://www.passbolt.com)
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 * @link          https://www.passbolt.com Passbolt(tm)
 * @since         3.2.0
 */

namespace Passbolt\Locale\Test\TestCase\Event;

use App\Error\Exception\ValidationException;
use App\Test\Factory\UserFactory;
use Cake\ORM\TableRegistry;
use Cake\TestSuite\TestCase;
use CakephpTestSuiteLight\Fixture\TruncateDirtyTables;
use Passbolt\Locale\Service\GetOrgLocaleService;
use Passbolt\Locale\Service\LocaleService;

class ValidateLocaleOnBeforeSaveListenerTest extends TestCase
{
    use TruncateDirtyTables;

    public function setUp(): void
    {
        parent::setUp();
        $this->loadPlugins(['Passbolt/Locale' => []]);
    }

    public function tearDown(): void
    {
        GetOrgLocaleService::clearOrganisationLocale();
        parent::tearDown();
    }

    public function dataForTestEmailLocaleServiceGetLocale(): array
    {
        return [
            ['fr-FR'],
            ['fr_FR'],
            ['fr+FR', ValidationException::class],
            ['fr*FR', ValidationException::class],
            ['fr FR', ValidationException::class],
            ['xx-YY', ValidationException::class],
            ['', ValidationException::class],
            [null, \TypeError::class],
        ];
    }

    /**
     * @param string|null $recipient The email's recipient
     * @param string $expectException
     * @throws \Exception
     * @dataProvider dataForTestEmailLocaleServiceGetLocale
     */
    public function testLocaleBeforeSaveValidation(?string $locale, ?string $expectException = ''): void
    {
        if ($expectException) {
            $this->expectException($expectException);
        }

        $setting = TableRegistry::getTableLocator()->get('Passbolt/AccountSettings.AccountSettings')
            ->createOrUpdateSetting(
                UserFactory::make()->persist()->id,
                LocaleService::SETTING_PROPERTY,
                $locale
            );

        $this->assertSame('fr-FR', $setting->get('value'));
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php
declare(strict_types=1);

/**
 * Passbolt ~ Open source password manager for teams
 * Copyright (c) Passbolt SA (https://www.passbolt.com)
 *
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Passbolt SA (https://www.passbolt.com)
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 * @link          https://www.passbolt.com Passbolt(tm)
 * @since         3.2.0
 */

namespace Passbolt\Locale\Test\TestCase\Event;

use App\Error\Exception\ValidationException;
use App\Test\Factory\UserFactory;
use Cake\ORM\TableRegistry;
use Cake\TestSuite\TestCase;
use CakephpTestSuiteLight\Fixture\TruncateDirtyTables;
use Passbolt\Locale\Service\GetOrgLocaleService;
use Passbolt\Locale\Service\LocaleService;

class ValidateLocaleOnBeforeSaveListenerTest extends TestCase
{
    use TruncateDirtyTables;

    public function setUp(): void
    {
        parent::setUp();
        $this->loadPlugins(['Passbolt/Locale' => []]);
    }

    public function tearDown(): void
    {
        GetOrgLocaleService::clearOrganisationLocale();
        parent::tearDown();
    }

    public function dataForTestEmailLocaleServiceGetLocale(): array
    {
        return [
            ['fr-FR'],
            ['fr_FR'],
            ['fr+FR', ValidationException::class],
            ['fr*FR', ValidationException::class],
            ['fr FR', ValidationException::class],
            ['xx-YY', ValidationException::class],
            ['', ValidationException::class],
            [null, \TypeError::class],
        ];
    }

    /**
     * @param string|null $recipient The email's recipient
     * @param string $expectException
     * @throws \Exception
     * @dataProvider dataForTestEmailLocaleServiceGetLocale
     */
    public function testLocaleBeforeSaveValidation(?string $locale, ?string $expectException = ''): void
    {
        if ($expectException) {
            $this->expectException($expectException);
        }

        $setting = TableRegistry::getTableLocator()->get('Passbolt/AccountSettings.AccountSettings')
            ->createOrUpdateSetting(
                UserFactory::make()->persist()->id,
                LocaleService::SETTING_PROPERTY,
                $locale
            );

        $this->assertSame('fr-FR', $setting->get('value'));
    }
}

Function Calls

None

Variables

None

Stats

MD5 b06cdd6f9706e2bc101b1b54db697b6d
Eval Count 0
Decode Time 85 ms