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 /** * Copyright Magento, Inc. All rights reserved. * See COPYING.txt for license ..

Decoded Output download

<?php
/**
 * Copyright  Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Backend\Test\Unit\Helper;

use Magento\Backend\Helper\Js;
use PHPUnit\Framework\TestCase;

/**
 * Class JsTest
 *
 * Testing decoding serialized grid data
 */
class JsTest extends TestCase
{
    /**
     * @var Js
     */
    private $helper;

    /**
     * Set Up
     */
    protected function setUp(): void
    {
        $this->helper = new Js();
    }

    /**
     * Test decoding the serialized input
     *
     * @dataProvider getEncodedDataProvider
     *
     * @param string $encoded
     * @param array $expected
     */
    public function testDecodeGridSerializedInput(string $encoded, array $expected)
    {
        $this->assertEquals($expected, $this->helper->decodeGridSerializedInput($encoded));
    }

    /**
     * Get serialized grid input
     *
     * @return array
     */
    public function getEncodedDataProvider(): array
    {
        return [
            'Decoding empty serialized string' => [
                '',
                []
            ],
            'Decoding a simplified serialized string' => [
                '1&2&3&4',
                [1, 2, 3, 4]
            ],
            'Decoding encoded serialized string' => [
                '2=dGVzdC1zdHJpbmc=',
                [
                    2 => [
                        'test-string' => ''
                    ]
                ]
            ],
            'Decoding multiple encoded serialized strings' => [
                '2=dGVzdC1zdHJpbmc=&3=bmV3LXN0cmluZw==',
                [
                    2 => [
                        'test-string' => ''
                    ],
                    3 => [
                        'new-string' => ''
                    ]
                ]
            ]
        ];
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php
/**
 * Copyright  Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Backend\Test\Unit\Helper;

use Magento\Backend\Helper\Js;
use PHPUnit\Framework\TestCase;

/**
 * Class JsTest
 *
 * Testing decoding serialized grid data
 */
class JsTest extends TestCase
{
    /**
     * @var Js
     */
    private $helper;

    /**
     * Set Up
     */
    protected function setUp(): void
    {
        $this->helper = new Js();
    }

    /**
     * Test decoding the serialized input
     *
     * @dataProvider getEncodedDataProvider
     *
     * @param string $encoded
     * @param array $expected
     */
    public function testDecodeGridSerializedInput(string $encoded, array $expected)
    {
        $this->assertEquals($expected, $this->helper->decodeGridSerializedInput($encoded));
    }

    /**
     * Get serialized grid input
     *
     * @return array
     */
    public function getEncodedDataProvider(): array
    {
        return [
            'Decoding empty serialized string' => [
                '',
                []
            ],
            'Decoding a simplified serialized string' => [
                '1&2&3&4',
                [1, 2, 3, 4]
            ],
            'Decoding encoded serialized string' => [
                '2=dGVzdC1zdHJpbmc=',
                [
                    2 => [
                        'test-string' => ''
                    ]
                ]
            ],
            'Decoding multiple encoded serialized strings' => [
                '2=dGVzdC1zdHJpbmc=&3=bmV3LXN0cmluZw==',
                [
                    2 => [
                        'test-string' => ''
                    ],
                    3 => [
                        'new-string' => ''
                    ]
                ]
            ]
        ];
    }
}

Function Calls

None

Variables

None

Stats

MD5 f1cf654ea3587d05dd3ee1868be50553
Eval Count 0
Decode Time 117 ms