/** * using setSelected with radio options */ public function testRadio() { $input = new RadioInput('foo', 1); $input->appendOptions(array(1 => 'one', 'two', 'three')); $render = $input->render(); $this->assertContains('value="1" checked', $render); $input->setSelected(2); $render = $input->render(); $this->assertContains('value="2" checked', $render); // using setSelected should not overwrite posted value $_POST['foo'] = 3; $input = new RadioInput('foo', 1); $input->appendOptions(array(1 => 'one', 'two', 'three')); $render = $input->render(); $this->assertContains('value="3" checked', $render); $input->setSelected(2); $render = $input->render(); $this->assertContains('value="3" checked', $render, 'using setSelected should not overwrite posted value'); }
/** * the arrays values and labels can be set seperately via setValues and setLabels * (NOT setValue or setLabel, because those set the variables and not the arrays) * or together via appendOption, appendOptions or prependOption */ public function testValuesAndLabels() { $input = new RadioInput('test'); $input->setValues(array('val1', 'val2')); $this->assertEquals(array('val1', 'val2'), $input->getValues()); $input->setLabels(array('label1', 'label2')); $this->assertEquals(array('label1', 'label2'), $input->getLabels()); $input->appendOption('val3', 'label3'); $this->assertEquals(array('val1', 'val2', 'val3'), $input->getValues()); $this->assertEquals(array('label1', 'label2', 'label3'), $input->getLabels()); $input->appendOptions(array('val4' => 'label4', 'val5' => 'label5')); $this->assertEquals(array('val1', 'val2', 'val3', 'val4', 'val5'), $input->getValues()); $this->assertEquals(array('label1', 'label2', 'label3', 'label4', 'label5'), $input->getLabels()); $input->prependOption('val0', 'label0'); $this->assertEquals(array('val0', 'val1', 'val2', 'val3', 'val4', 'val5'), $input->getValues()); $this->assertEquals(array('label0', 'label1', 'label2', 'label3', 'label4', 'label5'), $input->getLabels()); $input->prependOptions(array('pre0' => 'prealabel0', 'pre1' => 'prealabel1')); $this->assertEquals(array('pre0', 'pre1', 'val0', 'val1', 'val2', 'val3', 'val4', 'val5'), $input->getValues()); $this->assertEquals(array('prealabel0', 'prealabel1', 'label0', 'label1', 'label2', 'label3', 'label4', 'label5'), $input->getLabels()); }