Exemple #1
0
 public function testNested()
 {
     $manager = new Manager();
     $a = $manager->namedStart('A');
     $b = $manager->namedStart('B');
     $this->assertNull($a->getParent());
     $this->assertSame($a, $b->getParent());
     $this->assertSame($b, $manager->stop());
     $c = $manager->namedStart('C');
     $this->assertSame($a, $c->getParent());
     $d = $manager->namedStart('D');
     $this->assertSame($d, $manager->stop());
     $this->assertSame($c, $manager->stop());
     $this->assertSame($a, $manager->stop());
     $e = $manager->namedStart('E');
     $this->assertSame($e, $manager->stop());
     $this->assertSame($a, $manager->getIterator()->offsetGet(0));
     $this->assertSame($b, $a->getIterator()->offsetGet(0));
     $this->assertSame($c, $a->getIterator()->offsetGet(1));
     $this->assertSame($d, $c->getIterator()->offsetGet(0));
     $this->assertSame($e, $manager->getIterator()->offsetGet(1));
     $z = $manager->namedStart('Z');
     $this->assertSame($z, $manager->discard());
     $this->assertSame(2, $manager->getIterator()->count());
 }