summaryrefslogtreecommitdiff
path: root/source4/pidl/tests/parse_idl.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-02-18 16:21:28 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:48:32 -0500
commit8cf122c2d2a0913fd9a7c55032c549598844111c (patch)
treef2e5612d40c043d0c3a2a755fecac9ee8af16d48 /source4/pidl/tests/parse_idl.pl
parent069f0cc15bfe6ba38950d8b5a0b2befb74aa397e (diff)
downloadsamba-8cf122c2d2a0913fd9a7c55032c549598844111c.tar.gz
samba-8cf122c2d2a0913fd9a7c55032c549598844111c.tar.bz2
samba-8cf122c2d2a0913fd9a7c55032c549598844111c.zip
r21430: Support tagged types without typedef. This means:
struct foo { ... }; in IDL will now work. This is the first step towards nested types and using typedefs for partial types (such as "typedef int *bar;"), a requirement for complex uses of represent_as(). (This used to be commit a716aa70f0c90898e6fcf57d63a2cf4c40e7d4df)
Diffstat (limited to 'source4/pidl/tests/parse_idl.pl')
-rwxr-xr-xsource4/pidl/tests/parse_idl.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/pidl/tests/parse_idl.pl b/source4/pidl/tests/parse_idl.pl
index 859c2b4e46..265ac7a2bd 100755
--- a/source4/pidl/tests/parse_idl.pl
+++ b/source4/pidl/tests/parse_idl.pl
@@ -4,7 +4,7 @@
# Published under the GNU General Public License
use strict;
-use Test::More tests => 59 * 2;
+use Test::More tests => 62 * 2;
use FindBin qw($RealBin);
use lib "$RealBin";
use Util qw(test_errors);
@@ -83,8 +83,12 @@ testok "nested1", "interface test { struct x { struct { int a; } z; }; };";
testok "nested2", "interface test { struct x { struct y { int a; } z; }; };";
testok "bitmap1", "interface test { bitmap x { a=1 }; };";
testok "unsigned", "interface test { struct x { unsigned short y; }; };";
+testok "struct-property", "interface test { [public] struct x { short y; }; };";
testok "signed", "interface test { struct x { signed short y; }; };";
testok "declarg", "interface test { void test(struct { int x; } a); };";
+testok "structarg", "interface test { void test(struct a b); };";
+testfail "structargmissing", "interface test { void test(struct a); };",
+ "<structargmissing>:0: Syntax error near ')'\n";
testok "structqual", "interface test { struct x { struct y z; }; };";
testok "unionqual", "interface test { struct x { union y z; }; };";
testok "enumqual", "interface test { struct x { enum y z; }; };";