/** * Method to test getUserStateFromRequest(). * * @return void * * @covers Windwalker\Model\ListModel::getUserStateFromRequest */ public function testGetUserStateFromRequest() { $config = array('prefix' => 'foo', 'name' => 'bar'); $listModel = new ListModel($config); $app = $listModel->getContainer()->get('app'); $input = $listModel->getContainer()->get('app')->input; $app->clearUserState(); # Test case #1: get user state with input value $input->set('list-model-foo-xyz-1', 123); $input->set('limitstart', 100); $value = $listModel->getUserStateFromRequest('test.foo.xyz', 'list-model-foo-xyz-1'); $this->assertEquals(123, $value); $this->assertEquals(123, $app->getUserState('test.foo.xyz')); $this->assertEquals(0, $input->get('limitstart')); $app->clearUserState(); # Test case #2: get user state without input value (use default value) $value = $listModel->getUserStateFromRequest('test.foo.xyz', 'list-model-foo-xyz-2', 223); $this->assertEquals(223, $value); $this->assertNull($app->getUserState('test.foo.xyz')); $app->clearUserState(); # Test case #3: get user state without input value (use old user state value) $app->setUserState('test.foo.xyz', 323); $value = $listModel->getUserStateFromRequest('test.foo.xyz', 'list-model-foo-xyz-3', 423); $this->assertEquals(323, $value); }