X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fjcalderonzumba%2Fmink-phantomjs-driver%2Fsrc%2FKeyboardTrait.php;fp=vendor%2Fjcalderonzumba%2Fmink-phantomjs-driver%2Fsrc%2FKeyboardTrait.php;h=2b0c96d2006e9b14be420018bc4cee225346348f;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/vendor/jcalderonzumba/mink-phantomjs-driver/src/KeyboardTrait.php b/vendor/jcalderonzumba/mink-phantomjs-driver/src/KeyboardTrait.php new file mode 100644 index 000000000..2b0c96d20 --- /dev/null +++ b/vendor/jcalderonzumba/mink-phantomjs-driver/src/KeyboardTrait.php @@ -0,0 +1,95 @@ +findElement($xpath, 1); + $key = $this->normalizeCharForKeyEvent($char); + $modifier = $this->keyEventModifierControl($modifier); + return $this->browser->keyEvent($element["page_id"], $element["ids"][0], "keydown", $key, $modifier); + } + + /** + * @param string $xpath + * @param string $char + * @param string $modifier + * @throws DriverException + */ + public function keyPress($xpath, $char, $modifier = null) { + $element = $this->findElement($xpath, 1); + $key = $this->normalizeCharForKeyEvent($char); + $modifier = $this->keyEventModifierControl($modifier); + return $this->browser->keyEvent($element["page_id"], $element["ids"][0], "keypress", $key, $modifier); + } + + /** + * Pressed up specific keyboard key. + * + * @param string $xpath + * @param string|integer $char could be either char ('b') or char-code (98) + * @param string $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta') + * + * @throws DriverException When the operation cannot be done + */ + public function keyUp($xpath, $char, $modifier = null) { + $this->findElement($xpath, 1); + $element = $this->findElement($xpath, 1); + $key = $this->normalizeCharForKeyEvent($char); + $modifier = $this->keyEventModifierControl($modifier); + return $this->browser->keyEvent($element["page_id"], $element["ids"][0], "keyup", $key, $modifier); + } +}