source: trunk/libtransmission/rpc-test.c @ 13442

Last change on this file since 13442 was 13442, checked in by jordan, 10 years ago

(trunk, libtransmission) #4934 "Create a test harness and use it for current tests" -- patch by gvdl

File size: 1.6 KB
Line 
1#include <stdio.h> /* fprintf */
2#include <string.h> /* strcmp */
3#include "transmission.h"
4#include "bencode.h"
5#include "rpcimpl.h"
6#include "utils.h"
7
8#undef VERBOSE
9#include "libtransmission-test.h"
10
11static int
12test_list( void )
13{
14    int64_t      i;
15    const char * str;
16    tr_benc      top;
17
18    tr_rpc_parse_list_str( &top, "12", -1 );
19    check( tr_bencIsInt( &top ) );
20    check( tr_bencGetInt( &top, &i ) );
21    check( i == 12 );
22    tr_bencFree( &top );
23
24    tr_rpc_parse_list_str( &top, "12", 1 );
25    check( tr_bencIsInt( &top ) );
26    check( tr_bencGetInt( &top, &i ) );
27    check( i == 1 );
28    tr_bencFree( &top );
29
30    tr_rpc_parse_list_str( &top, "6,7", -1 );
31    check( tr_bencIsList( &top ) );
32    check( tr_bencListSize( &top ) == 2 );
33    check( tr_bencGetInt( tr_bencListChild( &top, 0 ), &i ) );
34    check( i == 6 );
35    check( tr_bencGetInt( tr_bencListChild( &top, 1 ), &i ) );
36    check( i == 7 );
37    tr_bencFree( &top );
38
39    tr_rpc_parse_list_str( &top, "asdf", -1 );
40    check( tr_bencIsString( &top ) );
41    check( tr_bencGetStr( &top, &str ) );
42    check( !strcmp( str, "asdf" ) );
43    tr_bencFree( &top );
44
45    tr_rpc_parse_list_str( &top, "1,3-5", -1 );
46    check( tr_bencIsList( &top ) );
47    check( tr_bencListSize( &top ) == 4 );
48    check( tr_bencGetInt( tr_bencListChild( &top, 0 ), &i ) );
49    check( i == 1 );
50    check( tr_bencGetInt( tr_bencListChild( &top, 1 ), &i ) );
51    check( i == 3 );
52    check( tr_bencGetInt( tr_bencListChild( &top, 2 ), &i ) );
53    check( i == 4 );
54    check( tr_bencGetInt( tr_bencListChild( &top, 3 ), &i ) );
55    check( i == 5 );
56    tr_bencFree( &top );
57
58    return 0;
59}
60
61MAIN_SINGLE_TEST(test_list)
Note: See TracBrowser for help on using the repository browser.