/** * test setting key '0' as selected */ public function testRenderOptionSelected() { $input = new Dropdown('test'); $input->appendOptions(array(1 => 'one', 2 => 'two', 0 => 'zero')); $input->setSelected('0'); $this->assertEquals('0', $input->getSelected()); $render = $input->render(); $this->assertContains('value="0" selected="selected"', $render); }
/** * using setSelected with dropdown */ public function testDropdown() { $dd = new Dropdown('foo'); $dd->appendOptions(array(1 => 'one', 'two', 'three')); $dd->setValue(1); $render = $dd->render(); $this->assertContains('value="1" selected', $render); $dd->setSelected(2); $render = $dd->render(); $this->assertContains('value="2" selected', $render); $this->assertNotContains('value="1" selected', $render); // using setSelected should not overwrite posted value $_POST['foo'] = 3; $dd = new Dropdown('foo', 1); $dd->appendOptions(array(1 => 'one', 'two', 'three')); $render = $dd->render(); $this->assertContains('value="3" selected', $render); $dd->setSelected(2); $render = $dd->render(); $this->assertContains('value="3" selected', $render, 'using setSelected should not overwrite posted value'); }