public function testSimpleRecursiveIteration()
 {
     $node = $this->_getLDAP()->getBaseNode();
     $ri = new \RecursiveIteratorIterator($node, \RecursiveIteratorIterator::SELF_FIRST);
     $i = 0;
     foreach ($ri as $rdn => $n) {
         $dn = $n->getDn()->toString(LDAP\DN::ATTR_CASEFOLD_LOWER);
         $rdn = LDAP\DN::implodeRdn($n->getRdnArray(), LDAP\DN::ATTR_CASEFOLD_LOWER);
         if ($i == 0) {
             $this->assertEquals(LDAP\DN::fromString(TESTS_ZEND_LDAP_WRITEABLE_SUBTREE)->toString(LDAP\DN::ATTR_CASEFOLD_LOWER), $dn);
         } else {
             if ($i == 1) {
                 $this->assertEquals('ou=Node', $rdn);
                 $this->assertEquals($this->_createDn('ou=Node,'), $dn);
             } else {
                 if ($i < 4) {
                     $j = $i - 1;
                     $base = $this->_createDn('ou=Node,');
                 } else {
                     $j = $i - 3;
                     $base = LDAP\DN::fromString(TESTS_ZEND_LDAP_WRITEABLE_SUBTREE)->toString(LDAP\DN::ATTR_CASEFOLD_LOWER);
                 }
                 $this->assertEquals('ou=Test' . $j, $rdn);
                 $this->assertEquals('ou=Test' . $j . ',' . $base, $dn);
             }
         }
         $i++;
     }
     $this->assertEquals(9, $i);
 }
Example #2
0
 /**
  * @expectedException Zend\LDAP\Exception
  */
 public function testImplodeRdnInvalidThree()
 {
     $a = array('cn' => 'value', 'ou');
     LDAP\DN::implodeRdn($a);
 }