Add ARM files
[dh-make-perl] / dev / arm / liburi-perl / liburi-perl-1.35.dfsg.1 / t / ldap.t
diff --git a/dev/arm/liburi-perl/liburi-perl-1.35.dfsg.1/t/ldap.t b/dev/arm/liburi-perl/liburi-perl-1.35.dfsg.1/t/ldap.t
new file mode 100644 (file)
index 0000000..e6bc46b
--- /dev/null
@@ -0,0 +1,114 @@
+#!perl -w
+
+print "1..22\n";
+
+use strict;
+use URI;
+
+my $uri;
+
+$uri = URI->new("ldap://host/dn=base?cn,sn?sub?objectClass=*");
+
+print "not " unless $uri->host eq "host";
+print "ok 1\n";
+
+print "not " unless $uri->dn eq "dn=base";
+print "ok 2\n";
+
+print "not " unless join("-",$uri->attributes) eq "cn-sn";
+print "ok 3\n";
+
+print "not " unless $uri->scope eq "sub";
+print "ok 4\n";
+
+print "not " unless $uri->filter eq "objectClass=*";
+print "ok 5\n";
+
+$uri = URI->new("ldap:");
+$uri->dn("o=University of Michigan,c=US");
+
+print "not " unless "$uri" eq "ldap:o=University%20of%20Michigan,c=US" &&
+    $uri->dn eq "o=University of Michigan,c=US";
+print "ok 6\n";
+
+$uri->host("ldap.itd.umich.edu");
+print "not " unless $uri->as_string eq "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US";
+print "ok 7\n";
+
+# check defaults
+print "not " unless $uri->_scope  eq "" &&
+                    $uri->scope   eq "base" &&
+                    $uri->_filter eq "" &&
+                    $uri->filter  eq "(objectClass=*)";
+print "ok 8\n";
+
+# attribute
+$uri->attributes("postalAddress");
+print "not " unless $uri eq "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress";
+print "ok 9\n";
+
+# does attribute escapeing work as it should
+$uri->attributes($uri->attributes, "foo", ",", "*", "?", "#", "\0");
+
+print "not " unless $uri->attributes eq "postalAddress,foo,%2C,*,%3F,%23,%00" &&
+                    join("-", $uri->attributes) eq "postalAddress-foo-,-*-?-#-\0";
+print "ok 10\n";
+$uri->attributes("");
+
+$uri->scope("sub?#");
+print "not " unless $uri->query eq "?sub%3F%23" &&
+                    $uri->scope eq "sub?#";
+print "ok 11\n";
+$uri->scope("");
+
+$uri->filter("f=?,#");
+print "not " unless $uri->query eq "??f=%3F,%23" &&
+                    $uri->filter eq "f=?,#";
+
+$uri->filter("(int=\\00\\00\\00\\04)");
+print "not " unless $uri->query eq "??(int=%5C00%5C00%5C00%5C04)";
+print "ok 12\n";
+
+
+print "ok 13\n";
+$uri->filter("");
+
+$uri->extensions("!bindname" => "cn=Manager,co=Foo");
+my %ext = $uri->extensions;
+
+print "not " unless $uri->query eq "???!bindname=cn=Manager%2Cco=Foo" &&
+                    keys %ext == 1 &&
+                    $ext{"!bindname"} eq "cn=Manager,co=Foo";
+print "ok 14\n";
+
+$uri = URI->new("ldap://LDAP-HOST:389/o=University%20of%20Michigan,c=US?postalAddress?base?ObjectClass=*?FOO=Bar,bindname=CN%3DManager%CO%3dFoo");
+
+print "not " unless $uri->canonical eq "ldap://ldap-host/o=University%20of%20Michigan,c=US?postaladdress???foo=Bar,bindname=CN=Manager%CO=Foo";
+print "ok 15\n";
+
+print "$uri\n";
+print $uri->canonical, "\n";
+
+$uri = URI->new("ldaps://host/dn=base?cn,sn?sub?objectClass=*");
+
+print "not " unless $uri->host eq "host";
+print "ok 16\n";
+print "not " unless $uri->port eq 636;
+print "ok 17\n";
+print "not " unless $uri->dn eq "dn=base";
+print "ok 18\n";
+
+$uri = URI->new("ldapi://%2Ftmp%2Fldap.sock/????x-mod=-w--w----");
+print "not " unless $uri->authority eq "%2Ftmp%2Fldap.sock";
+print "ok 19\n";
+print "not " unless $uri->un_path eq "/tmp/ldap.sock";
+print "ok 20\n";
+
+$uri->un_path("/var/x\@foo:bar/");
+print "not " unless $uri eq "ldapi://%2Fvar%2Fx%40foo%3Abar%2F/????x-mod=-w--w----";
+print "ok 21\n";
+
+%ext = $uri->extensions;
+print "not " unless $ext{"x-mod"} eq "-w--w----";
+print "ok 22\n";
+