class JavascriptEvaluationTest in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php \Behat\Mink\Tests\Driver\Js\JavascriptEvaluationTest
Hierarchy
- class \Behat\Mink\Tests\Driver\TestCase extends \Behat\Mink\Tests\Driver\PHPUnit_Framework_TestCase
- class \Behat\Mink\Tests\Driver\Js\JavascriptEvaluationTest
Expanded class hierarchy of JavascriptEvaluationTest
File
- vendor/
behat/ mink/ driver-testsuite/ tests/ Js/ JavascriptEvaluationTest.php, line 7
Namespace
Behat\Mink\Tests\Driver\JsView source
class JavascriptEvaluationTest extends TestCase {
/**
* Tests, that `wait` method returns check result after exit.
*/
public function testWaitReturnValue() {
$this
->getSession()
->visit($this
->pathTo('/js_test.html'));
$found = $this
->getSession()
->wait(5000, '$("#draggable").length == 1');
$this
->assertTrue($found);
}
public function testWait() {
$this
->getSession()
->visit($this
->pathTo('/js_test.html'));
$waitable = $this
->findById('waitable');
$waitable
->click();
$this
->getSession()
->wait(3000, '$("#waitable").has("div").length > 0');
$this
->assertEquals('arrived', $this
->getAssertSession()
->elementExists('css', '#waitable > div')
->getText());
$waitable
->click();
$this
->getSession()
->wait(3000, 'false');
$this
->assertEquals('timeout', $this
->getAssertSession()
->elementExists('css', '#waitable > div')
->getText());
}
/**
* @dataProvider provideExecutedScript
*/
public function testExecuteScript($script) {
$this
->getSession()
->visit($this
->pathTo('/index.html'));
$this
->getSession()
->executeScript($script);
sleep(1);
$heading = $this
->getAssertSession()
->elementExists('css', 'h1');
$this
->assertEquals('Hello world', $heading
->getText());
}
public function provideExecutedScript() {
return array(
array(
'document.querySelector("h1").textContent = "Hello world"',
),
array(
'document.querySelector("h1").textContent = "Hello world";',
),
array(
'function () {document.querySelector("h1").textContent = "Hello world";}()',
),
array(
'function () {document.querySelector("h1").textContent = "Hello world";}();',
),
array(
'(function () {document.querySelector("h1").textContent = "Hello world";})()',
),
array(
'(function () {document.querySelector("h1").textContent = "Hello world";})();',
),
);
}
/**
* @dataProvider provideEvaluatedScript
*/
public function testEvaluateJavascript($script) {
$this
->getSession()
->visit($this
->pathTo('/index.html'));
$this
->assertSame(2, $this
->getSession()
->evaluateScript($script));
}
public function provideEvaluatedScript() {
return array(
array(
'1 + 1',
),
array(
'1 + 1;',
),
array(
'return 1 + 1',
),
array(
'return 1 + 1;',
),
array(
'function () {return 1+1;}()',
),
array(
'(function () {return 1+1;})()',
),
array(
'return function () { return 1+1;}()',
),
array(
'return (function () {return 1+1;})()',
),
);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
JavascriptEvaluationTest:: |
public | function | ||
JavascriptEvaluationTest:: |
public | function | ||
JavascriptEvaluationTest:: |
public | function | @dataProvider provideEvaluatedScript | |
JavascriptEvaluationTest:: |
public | function | @dataProvider provideExecutedScript | |
JavascriptEvaluationTest:: |
public | function | ||
JavascriptEvaluationTest:: |
public | function | Tests, that `wait` method returns check result after exit. | |
TestCase:: |
private static | property | ||
TestCase:: |
private static | property | Mink session manager. | |
TestCase:: |
protected | function | ||
TestCase:: |
protected | function | Creates a new driver instance. | |
TestCase:: |
protected | function | ||
TestCase:: |
protected | function | Returns assert session. | |
TestCase:: |
private static | function | ||
TestCase:: |
protected | function | Returns session. | |
TestCase:: |
protected | function | Map remote file path. | |
TestCase:: |
protected | function | ||
TestCase:: |
protected | function | ||
TestCase:: |
protected | function | Waits for a condition to be true, considering than it is successful for drivers not supporting wait(). | |
TestCase:: |
public static | function | Initializes the test case. | |
TestCase:: |
protected | function |