1use Test::More; 2 3use Bencode qw( bencode ); 4 5my @test = ( 6 'i4e' => 4, 7 'i0e' => 0, 8 'i-10e' => -10, 9 'i12345678901234567890e' => '12345678901234567890', 10 '0:' => '', 11 '3:abc' => 'abc', 12 '10:1234567890' => \'1234567890', 13 'le' => [], 14 'li1ei2ei3ee' => [ 1, 2, 3 ], 15 'll5:Alice3:Bobeli2ei3eee' => [ [ 'Alice', 'Bob' ], [ 2, 3 ] ], 16 'de' => {}, 17 'd3:agei25e4:eyes4:bluee' => { 'age' => 25, 'eyes' => 'blue' }, 18 'd8:spam.mp3d6:author5:Alice6:lengthi100000eee' => { 'spam.mp3' => { 'author' => 'Alice', 'length' => 100000 } }, 19); 20 21plan tests => 0 + @test / 2; 22 23while ( my ( $frozen, $thawed ) = splice @test, 0, 2 ) { 24 is_deeply( bencode( $thawed ), $frozen, "encode $frozen" ); 25} 26 27# vim: set ft=perl: 28