11 # use Test::NoWarnings, if available
14 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };
16 plan tests => 29 + $extra ;
19 use_ok('Compress::Zlib::Common');
21 use_ok('Compress::Zlib::ParseParameters');
23 # use_ok('Compress::Zlib', 2) ;
25 # use_ok('IO::Compress::Gzip', qw($GzipError)) ;
26 # use_ok('IO::Uncompress::Gunzip', qw($GunzipError)) ;
28 # use_ok('IO::Compress::Deflate', qw($DeflateError)) ;
29 # use_ok('IO::Uncompress::Inflate', qw($InflateError)) ;
31 # use_ok('IO::Compress::RawDeflate', qw($RawDeflateError)) ;
32 # use_ok('IO::Uncompress::RawInflate', qw($RawInflateError)) ;
36 # Compress::Zlib::Common;
38 sub My::testParseParameters()
40 eval { ParseParameters(1, {}, 1) ; };
41 like $@, mkErr(': Expected even number of parameters, got 1'),
42 "Trap odd number of params";
44 eval { ParseParameters(1, {}, undef) ; };
45 like $@, mkErr(': Expected even number of parameters, got 1'),
46 "Trap odd number of params";
48 eval { ParseParameters(1, {}, []) ; };
49 like $@, mkErr(': Expected even number of parameters, got 1'),
50 "Trap odd number of params";
52 eval { ParseParameters(1, {'Fred' => [Parse_unsigned, 0]}, Fred => undef) ; };
53 like $@, mkErr("Parameter 'Fred' must be an unsigned int, got undef"),
54 "wanted unsigned, got undef";
56 eval { ParseParameters(1, {'Fred' => [Parse_signed, 0]}, Fred => undef) ; };
57 like $@, mkErr("Parameter 'Fred' must be a signed int, got undef"),
58 "wanted signed, got undef";
60 eval { ParseParameters(1, {'Fred' => [Parse_signed, 0]}, Fred => 'abc') ; };
61 like $@, mkErr("Parameter 'Fred' must be a signed int, got 'abc'"),
62 "wanted signed, got 'abc'";
64 my $got = ParseParameters(1, {'Fred' => [Parse_store_ref, 0]}, Fred => 'abc') ;
65 is ${ $got->value('Fred') }, "abc", "Parse_store_ref" ;
67 $got = ParseParameters(1, {'Fred' => [0x1000000, 0]}, Fred => 'abc') ;
68 is $got->value('Fred'), "abc", "other" ;
72 My::testParseParameters();
77 ok isaFilename("abc"), "'abc' isaFilename";
79 ok ! isaFilename(undef), "undef ! isaFilename";
80 ok ! isaFilename([]), "[] ! isaFilename";
81 $main::X = 1; $main::X = $main::X ;
82 ok ! isaFilename(*X), "glob ! isaFilename";
89 my $lex = new LexFile($out_file) ;
90 open FH, ">$out_file" ;
91 is whatIsInput(*FH), 'handle', "Match filehandle" ;
95 is whatIsInput($stdin), 'handle', "Match '-' as stdin";
96 #is $stdin, \*STDIN, "'-' changed to *STDIN";
97 #isa_ok $stdin, 'IO::File', "'-' changed to IO::File";
98 is whatIsInput("abc"), 'filename', "Match filename";
99 is whatIsInput(\"abc"), 'buffer', "Match buffer";
100 is whatIsInput(sub { 1 }, 1), 'code', "Match code";
101 is whatIsInput(sub { 1 }), '' , "Don't match code";
106 title "whatIsOutput" ;
108 my $out_file = "abc";
109 my $lex = new LexFile($out_file) ;
110 open FH, ">$out_file" ;
111 is whatIsOutput(*FH), 'handle', "Match filehandle" ;
115 is whatIsOutput($stdout), 'handle', "Match '-' as stdout";
116 #is $stdout, \*STDOUT, "'-' changed to *STDOUT";
117 #isa_ok $stdout, 'IO::File', "'-' changed to IO::File";
118 is whatIsOutput("abc"), 'filename', "Match filename";
119 is whatIsOutput(\"abc"), 'buffer', "Match buffer";
120 is whatIsOutput(sub { 1 }, 1), 'code', "Match code";
121 is whatIsOutput(sub { 1 }), '' , "Don't match code";