/** * Ensure that checkbox/radio button is checked. */ public function checkable() { $this->restrictElements(['input' => ['radio', 'checkbox']]); if (!in_array($this->element->getAttribute('type'), ['radio', 'checkbox'])) { throw new \RuntimeException('Element cannot be checked.'); } self::debug(['%s'], [$this->element->getOuterHtml()]); $this->assert($this->element->isChecked(), 'checked'); }
public function testIsChecked() { $node = new NodeElement('some_xpath', $this->session); $this->driver->expects($this->exactly(2))->method('isChecked')->with('some_xpath')->will($this->onConsecutiveCalls(true, false)); $this->assertTrue($node->isChecked()); $this->assertFalse($node->isChecked()); }
/** * @param NodeElement $toggleableElement * @param bool $expectedState * * @throws \RuntimeException */ private function assertCheckboxState(NodeElement $toggleableElement, $expectedState) { if ($toggleableElement->isChecked() !== $expectedState) { throw new \RuntimeException(sprintf("Toggleable element state is '%s' but expected '%s'.", $toggleableElement->isChecked() ? 'true' : 'false', $expectedState ? 'true' : 'false')); } }
/** * @param NodeElement $toggleableElement * @param bool $expectedState * * @throws \RuntimeException */ private function assertCheckboxState(NodeElement $toggleableElement, $expectedState) { if ($toggleableElement->isChecked() !== $expectedState) { throw new \RuntimeException('Toggleable element state %s but expected %s.', $toggleableElement->isChecked(), $expectedState); } }