public function testExchangeArrayTestAssetIterator() { $ar = $this->getMockForAbstractClass(AbstractCollection::class); $ar->expects($this->atLeastOnce())->method('validateValue')->withAnyParameters()->willReturn(null); $ar->exchangeArray(new ArrayObjectIterator(['foo' => 'bar'])); // make sure it does what php array object does: $ar2 = new \ArrayObject(); $ar2->exchangeArray(new ArrayObjectIterator(['foo' => 'bar'])); $this->assertEquals($ar2->getArrayCopy(), $ar->getArrayCopy()); }
/** * Init constant list by defined and magic constants */ public function initEnvironmentConstants() { $constants = array( '__DIR__', '__FILE__', '__LINE__', '__CLASS__', '__TRAIT__', '__METHOD__', '__FUNCTION__', '__NAMESPACE__', '::' ); $constants = array_merge($constants, array_keys(get_defined_constants()), $this->constants->getArrayCopy()); $this->constants->exchangeArray($constants); }
public function testExchangeArrayStringArgumentFail() { $this->setExpectedException('InvalidArgumentException'); $ar = new ArrayObject(array('foo' => 'bar')); $old = $ar->exchangeArray('Bacon'); }
/** * {@inheritdoc} */ public function exchangeArray($data) { $oldData = parent::exchangeArray($data); try { $this->validateData($this->storage); } catch (\Exception $e) { $this->storage = $oldData; throw $e; } return $oldData; }