/** * @depends testNext * @param IteratorDecoratorAbstract * @return IteratorDecoratorAbstract */ public function testPrevious(IteratorDecoratorAbstract $iteratorObject) { $this->assertTrue($iteratorObject->hasPrevious()); $iteratorObject->previous(); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(1, $iteratorObject->key()); $this->assertEquals('item2', $iteratorObject->current()); $this->assertTrue($iteratorObject->hasPrevious()); $iteratorObject->previous(); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(0, $iteratorObject->key()); $this->assertEquals('item1', $iteratorObject->current()); $this->assertFalse($iteratorObject->hasPrevious()); return $iteratorObject; }
/** * return true if iterator has a previous items * * @return bool has previous item */ public function hasPrevious() { if (parent::hasPrevious() && $this->getItemPosition() >= $this->getItemOffset()) { return true; } return false; }