2 # (C) 2007 Jelmer Vernooij <jelmer@samba.org>
3 # Published under the GNU General Public License
4 # test parsing wireshark conformance files
8 use Test
::More tests
=> 11;
9 use FindBin
qw($RealBin);
12 use Parse::Pidl::Util qw(MyDumper);
13 use Parse
::Pidl
::Wireshark
::NDR
qw(field2name %res PrintIdl StripPrefixes %hf_used RegisterInterfaceHandoff $conformance register_hf_field CheckUsed);
15 is("Access Mask", field2name("access_mask"));
16 is("Accessmask", field2name("AccessMask"));
19 PrintIdl("foo\nbar\n");
25 is("bla_foo", StripPrefixes("bla_foo", []));
26 is("foo", StripPrefixes("bla_foo", ["bla"]));
27 is("foo_bla", StripPrefixes("foo_bla", ["bla"]));
31 RegisterInterfaceHandoff({});
33 ok(not defined($hf_used{hf_bla_opnum}));
37 RegisterInterfaceHandoff({UUID => "uuid", NAME => "bla"});
38 is($res{code}, 'void proto_reg_handoff_dcerpc_bla(void)
40 dcerpc_init_uuid(proto_dcerpc_bla, ett_dcerpc_bla,
41 &uuid_dcerpc_bla, ver_dcerpc_bla,
42 bla_dissectors, hf_bla_opnum);
45 is($hf_used{hf_bla_opnum}, 1);
48 register_hf_field("hf_bla_idx", "bla", "my.filter", "FT_UINT32", "BASE_HEX", "NULL", 0xF, undef);
49 is_deeply($conformance, {
52 INDEX => "hf_bla_idx",
54 FILTER => "my.filter",
55 BASE_TYPE => "BASE_HEX",
56 FT_TYPE => "FT_UINT32",
63 fielddescription => {}
66 %hf_used = ( hf_bla => 1 );
67 test_warnings("", sub {
68 CheckUsed({ header_fields => { INDEX => "hf_bla" }})});
71 test_warnings("nofile:0: hf field `hf_bla' not used\n", sub {
72 CheckUsed({ header_fields => { INDEX => "hf_bla" }})});