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"));
 | 
						|
  }
 | 
						|
}
 |