summaryrefslogtreecommitdiff
path: root/source4/pidl/tests
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-09-14 18:06:51 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:06:45 -0500
commitd222c5e7ae8b9b422ad551d379636f62e3d2041f (patch)
tree52a48e1354d2c3d8e16e716eb090eb0c72bc6bc1 /source4/pidl/tests
parent151f422247e4f9a9645baf639adaf2dbd9557f13 (diff)
downloadsamba-d222c5e7ae8b9b422ad551d379636f62e3d2041f.tar.gz
samba-d222c5e7ae8b9b422ad551d379636f62e3d2041f.tar.bz2
samba-d222c5e7ae8b9b422ad551d379636f62e3d2041f.zip
r25166: Simplify can_contain_deferred and add tests for it.
(This used to be commit 1afc7dd4d33f05d58121defed88faf8fcee3df8f)
Diffstat (limited to 'source4/pidl/tests')
-rwxr-xr-xsource4/pidl/tests/ndr.pl17
1 files changed, 15 insertions, 2 deletions
diff --git a/source4/pidl/tests/ndr.pl b/source4/pidl/tests/ndr.pl
index 043d2b9905..6e91ad2a6a 100755
--- a/source4/pidl/tests/ndr.pl
+++ b/source4/pidl/tests/ndr.pl
@@ -4,12 +4,12 @@
use strict;
use warnings;
-use Test::More tests => 27;
+use Test::More tests => 33;
use FindBin qw($RealBin);
use lib "$RealBin";
use Util;
use Parse::Pidl::Util qw(MyDumper);
-use Parse::Pidl::NDR qw(GetElementLevelTable ParseElement align_type mapToScalar ParseType);
+use Parse::Pidl::NDR qw(GetElementLevelTable ParseElement align_type mapToScalar ParseType can_contain_deferred);
# Case 1
@@ -253,3 +253,16 @@ $t = {
}
};
is_deeply(ParseType($t->{ORIGINAL}, "ref"), $t);
+
+ok(not can_contain_deferred("uint32"));
+ok(can_contain_deferred("some_unknown_type"));
+ok(can_contain_deferred({ TYPE => "STRUCT",
+ ELEMENTS => [ { TYPE => "uint32", POINTERS => 40 } ]}));
+ok(can_contain_deferred({ TYPE => "TYPEDEF",
+ DATA => { TYPE => "STRUCT",
+ ELEMENTS => [ { TYPE => "uint32", POINTERS => 40 } ]}}));
+ok(not can_contain_deferred({ TYPE => "STRUCT",
+ ELEMENTS => [ { TYPE => "uint32" } ]}));
+ok(not can_contain_deferred({ TYPE => "TYPEDEF",
+ DATA => { TYPE => "STRUCT",
+ ELEMENTS => [ { TYPE => "uint32" } ]}}));