/** * @group encoding */ public function testComplexEncoding() { $tree = array('letters' => array('a', 'b', 'c', 'd'), 'numbers' => array(1, 2, 3, 4), 'mixed' => array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4), 'empty' => '', 'empty_list' => array()); $tree['subtree'] = $tree; $expected = 'd5:empty0:10:empty_listle7:lettersl1:a1:b1:c1:de5:mixedd1:ai1e1:bi2e1:ci3e1:di4ee7:numbersli1ei2ei3ei4ee7:subtreed5:empty0:10:empty_listle7:lettersl1:a1:b1:c1:de5:mixedd1:ai1e1:bi2e1:ci3e1:di4ee7:numbersli1ei2ei3ei4eeee'; $this->assertSame($expected, B::encode($tree)); }
<?php /* * This file is part of the Bencoder package. * * (c) Daniele Alessandri <*****@*****.**> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require __DIR__ . '/../autoload.php'; use Bencoder\Bencode; $structure = array('nickname' => 'nrk', 'letters' => array('n', 'r', 'k'), 'length' => 3); $encoded = Bencode::encode($structure); $decoded = Bencode::decode($encoded); var_dump($encoded); var_dump($decoded);