コード例 #1
0
ファイル: SearchResultTest.php プロジェクト: 81square/ldap
 /**
  * Tests iterator implementation
  *
  * @return void
  */
 public function testIteratorImplementation()
 {
     $result = new SearchResult();
     $result->rewind();
     $this->assertFalse($result->valid());
     $this->assertFalse($result->current());
     $this->assertNull($result->key());
     $result->next();
     $this->assertFalse($result->valid());
     $search = new Search();
     $search->setEntries(array(new Entry('a'), new Entry('b'), new Entry('c')));
     $result->setSearch($search);
     $result->rewind();
     $this->assertTrue($result->valid());
     $this->assertInstanceOf('Toyota\\Component\\Ldap\\Core\\Node', $result->current());
     $this->assertEquals('a', $result->current()->getDn());
     $this->assertEquals('a', $result->key());
     $result->next();
     $this->assertTrue($result->valid());
     $this->assertInstanceOf('Toyota\\Component\\Ldap\\Core\\Node', $result->current());
     $this->assertEquals('b', $result->current()->getDn());
     $this->assertEquals('b', $result->key());
     $result->next();
     $this->assertTrue($result->valid());
     $this->assertInstanceOf('Toyota\\Component\\Ldap\\Core\\Node', $result->current());
     $this->assertEquals('c', $result->current()->getDn());
     $this->assertEquals('c', $result->key());
     $result->next();
     $this->assertFalse($result->valid());
     $this->assertFalse($result->current());
     $this->assertNull($result->key());
     $result->rewind();
     $this->assertTrue($result->valid());
     $this->assertInstanceOf('Toyota\\Component\\Ldap\\Core\\Node', $result->current());
     $this->assertEquals('a', $result->current()->getDn());
     $this->assertEquals('a', $result->key());
     $search = new Search();
     $search->setEntries(array(new Entry('d'), new Entry('e'), new Entry('f')));
     $result->setSearch($search);
     $this->assertTrue($result->valid());
     $this->assertEquals('d', $result->key(), 'Iterator is rewinded when new search is set');
 }