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' => '' ] ] ] ]; } }