Rev 11528: Cherrypick typelib tests. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Sun Feb 18 23:45:48 GMT 2007


At file:///home/jelmer/bzr.samba/SAMBA_4_0/

------------------------------------------------------------
revno: 11528
revision-id: jelmer at samba.org-20070218234351-nxjnkhl4bc4x00df
parent: svn-v2:21436 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Mon 2007-02-19 00:43:51 +0100
message:
  Cherrypick typelib tests.
added:
  source/pidl/tests/typelist.pl  typelist.pl-20070218233129-3q3p6969m76mp340-1
modified:
  source/pidl/lib/Parse/Pidl/Typelist.pm svn-v2:9460 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fpidl%2flib%2fParse%2fPidl%2fTypelist.pm
=== added file 'source/pidl/tests/typelist.pl'
--- a/source/pidl/tests/typelist.pl	1970-01-01 00:00:00 +0000
+++ b/source/pidl/tests/typelist.pl	2007-02-18 23:43:51 +0000
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+# (C) 2007 Jelmer Vernooij <jelmer at samba.org>
+# Published under the GNU General Public License
+use strict;
+use warnings;
+
+use Test::More tests => 33;
+use FindBin qw($RealBin);
+use lib "$RealBin";
+use Util;
+use Parse::Pidl::Typelist qw(hasType getType mapTypeName expandAlias
+	mapScalarType addType typeIs is_scalar scalar_is_reference
+	enum_type_fn bitmap_type_fn mapType);
+
+is("foo", expandAlias("foo"));
+is("uint32", expandAlias("DWORD"));
+is("int32", expandAlias("int"));
+is("", expandAlias(""));
+is("int32", expandAlias("int32"));
+
+is("uint32_t", mapScalarType("uint32"));
+is("void", mapScalarType("void"));
+is("uint64_t", mapScalarType("hyper"));
+
+my $x = { TYPE => "ENUM", NAME => "foo" };
+addType($x);
+is($x, getType("foo"));
+is(undef, getType("bloebla"));
+
+is(0, typeIs("someUnknownType", "ENUM"));
+
+is(1, hasType("foo"));
+is(0, hasType("nonexistant"));
+
+is(1, is_scalar("uint32"));
+is(0, is_scalar("nonexistant"));
+
+is(1, scalar_is_reference("string"));
+is(0, scalar_is_reference("uint32"));
+
+is("uint8", enum_type_fn({TYPE => "ENUM", PARENT=>{PROPERTIES => {enum8bit => 1}}}));
+is("uint32", enum_type_fn({TYPE => "ENUM", PARENT=>{PROPERTIES => {v1_enum => 1}}}));
+is("uint16", enum_type_fn({TYPE => "ENUM", PARENT=>{PROPERTIES => {}}}));
+
+is("uint8", bitmap_type_fn({TYPE => "BITMAP", PROPERTIES => {bitmap8bit => 1}}));
+is("uint16", bitmap_type_fn({TYPE => "BITMAP", PROPERTIES => {bitmap16bit => 1}}));
+is("hyper", bitmap_type_fn({TYPE => "BITMAP", PROPERTIES => {bitmap64bit => 1}}));
+is("uint32", bitmap_type_fn({TYPE => "BITMAP", PROPERTIES => {}}));
+
+is("enum foo", mapType({TYPE => "ENUM"}, "foo"));
+is("union foo", mapType({TYPE => "UNION"}, "foo"));
+is("struct foo", mapType({TYPE => "STRUCT"}, "foo"));
+is("uint8_t", mapType({TYPE => "BITMAP", PROPERTIES => {bitmap8bit => 1}}, "foo"));
+is("uint8_t", mapType({TYPE => "SCALAR"}, "uint8"));
+is("uint32_t", mapType({TYPE => "TYPEDEF", DATA => {TYPE => "SCALAR"}}, "uint32"));
+
+is("void", mapTypeName(undef));
+is("uint32_t", mapTypeName("uint32"));
+is("int32_t", mapTypeName("int"));

=== modified file 'source/pidl/lib/Parse/Pidl/Typelist.pm'
--- a/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-02-18 18:44:56 +0000
+++ b/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-02-18 23:43:51 +0000
@@ -7,7 +7,10 @@
 
 require Exporter;
 @ISA = qw(Exporter);
- at EXPORT_OK = qw(hasType getType mapTypeName scalar_is_reference expandAlias);
+ at EXPORT_OK = qw(hasType getType mapTypeName scalar_is_reference expandAlias
+			    mapScalarType addType typeIs is_scalar enum_type_fn
+				bitmap_type_fn mapType
+);
 use vars qw($VERSION);
 $VERSION = '0.01';
 



More information about the samba-cvs mailing list