comparison core/modules/simpletest/tests/src/FunctionalJavascript/BrowserWithJavascriptTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\Tests\simpletest\FunctionalJavascript;
4
5 use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
6
7 /**
8 * Tests if we can execute JavaScript in the browser.
9 *
10 * @group javascript
11 */
12 class BrowserWithJavascriptTest extends JavascriptTestBase {
13
14 public function testJavascript() {
15 $this->drupalGet('<front>');
16 $session = $this->getSession();
17
18 $session->resizeWindow(400, 300);
19 $javascript = <<<JS
20 (function(){
21 var w = window,
22 d = document,
23 e = d.documentElement,
24 g = d.getElementsByTagName('body')[0],
25 x = w.innerWidth || e.clientWidth || g.clientWidth,
26 y = w.innerHeight || e.clientHeight|| g.clientHeight;
27 return x == 400 && y == 300;
28 }());
29 JS;
30 $this->assertJsCondition($javascript);
31 }
32
33 public function testAssertJsCondition() {
34 $this->drupalGet('<front>');
35 $session = $this->getSession();
36
37 $session->resizeWindow(500, 300);
38 $javascript = <<<JS
39 (function(){
40 var w = window,
41 d = document,
42 e = d.documentElement,
43 g = d.getElementsByTagName('body')[0],
44 x = w.innerWidth || e.clientWidth || g.clientWidth,
45 y = w.innerHeight || e.clientHeight|| g.clientHeight;
46 return x == 400 && y == 300;
47 }());
48 JS;
49
50 // We expected the following assertion to fail because the window has been
51 // re-sized to have a width of 500 not 400.
52 $this->setExpectedException(\PHPUnit_Framework_AssertionFailedError::class);
53 $this->assertJsCondition($javascript, 100);
54 }
55
56 /**
57 * Tests creating screenshots.
58 */
59 public function testCreateScreenshot() {
60 $this->drupalGet('<front>');
61 $this->createScreenshot('public://screenshot.jpg');
62 $this->assertFileExists('public://screenshot.jpg');
63 }
64
65 }