1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace Facebook\WebDriver; 4*04fd306cSNickeau 5*04fd306cSNickeauuse Facebook\WebDriver\Exception\WebDriverException; 6*04fd306cSNickeau 7*04fd306cSNickeau/** 8*04fd306cSNickeau * Provides helper methods for checkboxes. 9*04fd306cSNickeau */ 10*04fd306cSNickeauclass WebDriverCheckboxes extends AbstractWebDriverCheckboxOrRadio 11*04fd306cSNickeau{ 12*04fd306cSNickeau public function __construct(WebDriverElement $element) 13*04fd306cSNickeau { 14*04fd306cSNickeau parent::__construct($element); 15*04fd306cSNickeau 16*04fd306cSNickeau $this->type = $element->getAttribute('type'); 17*04fd306cSNickeau if ($this->type !== 'checkbox') { 18*04fd306cSNickeau throw new WebDriverException('The input must be of type "checkbox".'); 19*04fd306cSNickeau } 20*04fd306cSNickeau } 21*04fd306cSNickeau 22*04fd306cSNickeau public function isMultiple() 23*04fd306cSNickeau { 24*04fd306cSNickeau return true; 25*04fd306cSNickeau } 26*04fd306cSNickeau 27*04fd306cSNickeau public function deselectAll() 28*04fd306cSNickeau { 29*04fd306cSNickeau foreach ($this->getRelatedElements() as $checkbox) { 30*04fd306cSNickeau $this->deselectOption($checkbox); 31*04fd306cSNickeau } 32*04fd306cSNickeau } 33*04fd306cSNickeau 34*04fd306cSNickeau public function deselectByIndex($index) 35*04fd306cSNickeau { 36*04fd306cSNickeau $this->byIndex($index, false); 37*04fd306cSNickeau } 38*04fd306cSNickeau 39*04fd306cSNickeau public function deselectByValue($value) 40*04fd306cSNickeau { 41*04fd306cSNickeau $this->byValue($value, false); 42*04fd306cSNickeau } 43*04fd306cSNickeau 44*04fd306cSNickeau public function deselectByVisibleText($text) 45*04fd306cSNickeau { 46*04fd306cSNickeau $this->byVisibleText($text, false, false); 47*04fd306cSNickeau } 48*04fd306cSNickeau 49*04fd306cSNickeau public function deselectByVisiblePartialText($text) 50*04fd306cSNickeau { 51*04fd306cSNickeau $this->byVisibleText($text, true, false); 52*04fd306cSNickeau } 53*04fd306cSNickeau} 54