/** * @covers Object_AbstractDelegator::offsetExists */ public function testOffsetExists() { $this->object->append('For_Test'); $this->object->append(new stdClass()); $this->assertTrue($this->object->offsetExists(0)); $this->assertTrue($this->object->offsetExists(1)); $this->assertFalse($this->object->offsetExists(2)); $this->object->getIterator(); $this->assertTrue($this->object->offsetExists(0)); $this->assertTrue($this->object->offsetExists(1)); $this->assertFalse($this->object->offsetExists(2)); }
/** * Добавление делегируемого объекта * * Если при создании объекта был указан параметр $type, * то должны добавляться только объекты этого типа. То есть * параметр $listener должен быть объектом типа $this->type. * * @param object $listener * @param null|int|string $index * * @see Object_AbstractDelegator::append() * * @throws Core_InvalidArgumentTypeException Если установлено свойство $this->type * и $listener не является объектом этого типа. */ public function append($listener, $index = null) { if (!$this->type || $listener instanceof $this->type) { return parent::append($listener, $index); } else { throw new Core_InvalidArgumentTypeException('listener', $listener); } }