71 lines
1.9 KiB
PHP
71 lines
1.9 KiB
PHP
|
<?php
|
||
|
namespace nur\ldap;
|
||
|
|
||
|
use nur\b\ValueException;
|
||
|
use nur\t\TestCase;
|
||
|
|
||
|
class namesTest extends TestCase {
|
||
|
function testSplit(): void {
|
||
|
$valid = names::split_dn("", $rdn, $suffix);
|
||
|
self::assertFalse($valid);
|
||
|
|
||
|
$valid = names::split_dn("a=b", $rdn, $suffix);
|
||
|
self::assertTrue($valid);
|
||
|
self::assertSame("a=b", $rdn);
|
||
|
self::assertSame("", $suffix);
|
||
|
|
||
|
$valid = names::split_dn("a=b\\2ac", $rdn, $suffix);
|
||
|
self::assertTrue($valid);
|
||
|
self::assertSame("a=b*c", $rdn);
|
||
|
self::assertSame("", $suffix);
|
||
|
|
||
|
$valid = names::split_dn("a=b\\2bc", $rdn, $suffix);
|
||
|
self::assertTrue($valid);
|
||
|
self::assertSame("a=b\\2Bc", $rdn);
|
||
|
self::assertSame("", $suffix);
|
||
|
|
||
|
$valid = names::split_dn("a=b,x=y,z=t", $rdn, $suffix);
|
||
|
self::assertTrue($valid);
|
||
|
self::assertSame("a=b", $rdn);
|
||
|
self::assertSame("x=y,z=t", $suffix);
|
||
|
|
||
|
$valid = names::split_dn("a=b+c=d,x=y,z=t", $rdn, $suffix);
|
||
|
self::assertTrue($valid);
|
||
|
self::assertSame("a=b+c=d", $rdn);
|
||
|
self::assertSame("x=y,z=t", $suffix);
|
||
|
}
|
||
|
|
||
|
function testSplit_rdn() {
|
||
|
self::assertException(ValueException::class, function () {
|
||
|
names::split_rdn("");
|
||
|
});
|
||
|
self::assertException(ValueException::class, function () {
|
||
|
names::split_rdn("xxx");
|
||
|
});
|
||
|
self::assertSame([
|
||
|
"a" => ["b"],
|
||
|
], names::split_rdn("a=b"));
|
||
|
self::assertSame([
|
||
|
"a" => ["b"],
|
||
|
"c" => ["d"],
|
||
|
], names::split_rdn("a=b+c=d"));
|
||
|
}
|
||
|
|
||
|
function testJoin() {
|
||
|
self::assertSame("", names::join("", ""));
|
||
|
self::assertSame("a=b", names::join("a=b", ""));
|
||
|
self::assertSame("a=b,x=y,z=t", names::join("a=b", "x=y,z=t"));
|
||
|
self::assertSame("a=b,x=y,z=t", names::join([
|
||
|
"a" => "b",
|
||
|
], "x=y,z=t"));
|
||
|
self::assertSame("a=b+c=d,x=y,z=t", names::join([
|
||
|
"a" => "b",
|
||
|
"c" => "d",
|
||
|
], "x=y,z=t"));
|
||
|
}
|
||
|
|
||
|
function testUnescape() {
|
||
|
self::assertSame("(", names::ldap_unescape("\\28"));
|
||
|
}
|
||
|
}
|