public function testOptionsAreLostWhenCopyingParamsViaAddParams() { $p = new TraitTester(); $custom_iterator_class = 'Params\\Tests\\Fixtures\\CustomArrayIterator'; $a = new ConfigurableArrayObject(['foo' => 'bar'], [ConfigurableArrayObject::OPTION_ITERATOR => $custom_iterator_class]); $this->assertEquals('bar', $a['foo']); $this->assertInstanceOf($custom_iterator_class, $a->getIterator()); $this->assertInstanceOf('\\Params\\Tests\\Fixtures\\TraitTester', $p->setParameters($a)); $this->assertEquals('bar', $p->getParameter('foo')); $this->assertNotInstanceOf($custom_iterator_class, $p->getParameters()->getIterator()); $this->assertInstanceOf('\\Params\\Tests\\Fixtures\\TraitTester', $p->setOptions($a)); $this->assertEquals('bar', $p->getOption('foo')); $this->assertNotInstanceOf($custom_iterator_class, $p->getOptions()->getIterator()); $this->assertInstanceOf('\\Params\\Tests\\Fixtures\\TraitTester', $p->setSettings($a)); $this->assertEquals('bar', $p->getSetting('foo')); $this->assertNotInstanceOf($custom_iterator_class, $p->getSettings()->getIterator()); }
public function testIterator() { $params = new ConfigurableArrayObject($this->getExampleValues()); $iter = $params->getIterator(); $this->assertTrue($iter instanceof \ArrayIterator); }