public function testInitialize() { $node = $this->createNode('input', '', array('type' => 'text', 'name' => 'name', 'value' => 'value')); $field = new InputFormField($node); $this->assertEquals('value', $field->getValue(), '->initialize() sets the value of the field to the value attribute value'); $node = $this->createNode('textarea', ''); try { $field = new InputFormField($node); $this->fail('->initialize() throws a \\LogicException if the node is not an input'); } catch (\LogicException $e) { $this->assertTrue(true, '->initialize() throws a \\LogicException if the node is not an input'); } $node = $this->createNode('input', '', array('type' => 'checkbox')); try { $field = new InputFormField($node); $this->fail('->initialize() throws a \\LogicException if the node is a checkbox'); } catch (\LogicException $e) { $this->assertTrue(true, '->initialize() throws a \\LogicException if the node is a checkbox'); } $node = $this->createNode('input', '', array('type' => 'file')); try { $field = new InputFormField($node); $this->fail('->initialize() throws a \\LogicException if the node is a file'); } catch (\LogicException $e) { $this->assertTrue(true, '->initialize() throws a \\LogicException if the node is a file'); } }
public function testGetSetHasValue() { $node = $this->createNode('input', '', array('type' => 'text', 'name' => 'name', 'value' => 'value')); $field = new InputFormField($node); $this->assertEquals('value', $field->getValue(), '->getValue() returns the value of the field'); $field->setValue('foo'); $this->assertEquals('foo', $field->getValue(), '->setValue() sets the value of the field'); $this->assertTrue($field->hasValue(), '->hasValue() always returns true'); }
public function testLabelIsAssignedByParentingRelation() { $dom = new \DOMDocument(); $dom->loadHTML('<html><form> <label for="foo">Foo label<input type="text" id="foo" name="foo" value="foo" /></label> <input type="submit" /> </form></html>'); $field = new InputFormField($dom->getElementById('foo')); $this->assertEquals('Foo label', $field->getLabel()->textContent, '->getLabel() returns the parent label'); }