_ldap = new Zend_Ldap(); } /** * @return void */ public function testFilterEscapeBasicOperation() { $input = 'a*b(b)d\e/f'; $expected = 'a\2ab\28b\29d\5ce\2ff'; $this->assertEquals($expected, Zend_Ldap::filterEscape($input)); } /** * @return void */ public function testInvalidOptionResultsInException() { $optionName = 'invalid'; try { $this->_ldap->setOptions(array($optionName => 'irrelevant')); $this->fail('Expected Zend_Ldap_Exception not thrown'); } catch (Zend_Ldap_Exception $e) { $this->assertEquals("Unknown Zend_Ldap option: $optionName", $e->getMessage()); } } /** * @return void */ public function testExplodeDnOperation() { $inputs = array( 'CN=Alice Baker,CN=Users,DC=example,DC=com' => true, 'CN=Baker\\, Alice,CN=Users,DC=example,DC=com' => true, 'OU=Sales,DC=local' => true, 'OU=Sales;DC=local' => true, 'OU=Sales ,DC=local' => true, 'OU=Sales, dC=local' => true, 'ou=Sales , DC=local' => true, 'OU=Sales ; dc=local' => true, 'DC=local' => true, ' DC=local' => true, 'DC= local ' => true, 'username' => false, 'username@example.com' => false, 'EXAMPLE\\username' => false, 'CN=,Alice Baker,CN=Users,DC=example,DC=com' => false, 'CN=Users,DC==example,DC=com' => false, 'O=ACME' => true, '' => false, ' ' => false, ); foreach ($inputs as $dn => $expected) { $ret = Zend_Ldap::explodeDn($dn); $this->assertTrue($ret === $expected); } } }