Mercurial > hg > isophonics-drupal-site
diff vendor/jcalderonzumba/mink-phantomjs-driver/src/JavascriptTrait.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/jcalderonzumba/mink-phantomjs-driver/src/JavascriptTrait.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,49 @@ +<?php + +namespace Zumba\Mink\Driver; + +use Behat\Mink\Exception\DriverException; + +/** + * Class JavascriptTrait + * @package Zumba\Mink\Driver + */ +trait JavascriptTrait { + + /** + * Executes a script on the browser + * @param string $script + */ + public function executeScript($script) { + $this->browser->execute($script); + } + + /** + * Evaluates a script and returns the result + * @param string $script + * @return mixed + */ + public function evaluateScript($script) { + return $this->browser->evaluate($script); + } + + /** + * Waits some time or until JS condition turns true. + * + * @param integer $timeout timeout in milliseconds + * @param string $condition JS condition + * @return boolean + * @throws DriverException When the operation cannot be done + */ + public function wait($timeout, $condition) { + $start = microtime(true); + $end = $start + $timeout / 1000.0; + do { + $result = $this->browser->evaluate($condition); + usleep(100000); + } while (microtime(true) < $end && !$result); + + return (bool)$result; + } + +}