/** * Verify shifting of arguments * * @return void */ public function testShiftArgs() { $Dispatcher = new TestShellDispatcher(); $Dispatcher->args = array('a', 'b', 'c'); $this->assertEquals('a', $Dispatcher->shiftArgs()); $this->assertSame($Dispatcher->args, array('b', 'c')); $Dispatcher->args = array('a' => 'b', 'c', 'd'); $this->assertEquals('b', $Dispatcher->shiftArgs()); $this->assertSame($Dispatcher->args, array('c', 'd')); $Dispatcher->args = array('a', 'b' => 'c', 'd'); $this->assertEquals('a', $Dispatcher->shiftArgs()); $this->assertSame($Dispatcher->args, array('b' => 'c', 'd')); $Dispatcher->args = array(0 => 'a', 2 => 'b', 30 => 'c'); $this->assertEquals('a', $Dispatcher->shiftArgs()); $this->assertSame($Dispatcher->args, array(0 => 'b', 1 => 'c')); $Dispatcher->args = array(); $this->assertNull($Dispatcher->shiftArgs()); $this->assertSame(array(), $Dispatcher->args); }
/** * Verify shifting of arguments * * @return void * @access public */ function testShiftArgs() { $Dispatcher = new TestShellDispatcher(); $Dispatcher->args = array('a', 'b', 'c'); $this->assertEqual($Dispatcher->shiftArgs(), 'a'); $this->assertIdentical($Dispatcher->args, array('b', 'c')); $Dispatcher->args = array('a' => 'b', 'c', 'd'); $this->assertEqual($Dispatcher->shiftArgs(), 'b'); $this->assertIdentical($Dispatcher->args, array('c', 'd')); $Dispatcher->args = array('a', 'b' => 'c', 'd'); $this->assertEqual($Dispatcher->shiftArgs(), 'a'); $this->assertIdentical($Dispatcher->args, array('b' => 'c', 'd')); $Dispatcher->args = array(0 => 'a', 2 => 'b', 30 => 'c'); $this->assertEqual($Dispatcher->shiftArgs(), 'a'); $this->assertIdentical($Dispatcher->args, array(0 => 'b', 1 => 'c')); $Dispatcher->args = array(); $this->assertNull($Dispatcher->shiftArgs()); $this->assertIdentical($Dispatcher->args, array()); }