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