You are here

WindowTest.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php

File

vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
View source
<?php

namespace Behat\Mink\Tests\Driver\Js;

use Behat\Mink\Tests\Driver\TestCase;
class WindowTest extends TestCase {
  public function testWindow() {
    $this
      ->getSession()
      ->visit($this
      ->pathTo('/window.html'));
    $session = $this
      ->getSession();
    $page = $session
      ->getPage();
    $webAssert = $this
      ->getAssertSession();
    $page
      ->clickLink('Popup #1');
    $session
      ->switchToWindow(null);
    $page
      ->clickLink('Popup #2');
    $session
      ->switchToWindow(null);
    $el = $webAssert
      ->elementExists('css', '#text');
    $this
      ->assertSame('Main window div text', $el
      ->getText());
    $session
      ->switchToWindow('popup_1');
    $el = $webAssert
      ->elementExists('css', '#text');
    $this
      ->assertSame('Popup#1 div text', $el
      ->getText());
    $session
      ->switchToWindow('popup_2');
    $el = $webAssert
      ->elementExists('css', '#text');
    $this
      ->assertSame('Popup#2 div text', $el
      ->getText());
    $session
      ->switchToWindow(null);
    $el = $webAssert
      ->elementExists('css', '#text');
    $this
      ->assertSame('Main window div text', $el
      ->getText());
  }
  public function testGetWindowNames() {
    $this
      ->getSession()
      ->visit($this
      ->pathTo('/window.html'));
    $session = $this
      ->getSession();
    $page = $session
      ->getPage();
    $windowName = $this
      ->getSession()
      ->getWindowName();
    $this
      ->assertNotNull($windowName);
    $page
      ->clickLink('Popup #1');
    $page
      ->clickLink('Popup #2');
    $windowNames = $this
      ->getSession()
      ->getWindowNames();
    $this
      ->assertNotNull($windowNames[0]);
    $this
      ->assertNotNull($windowNames[1]);
    $this
      ->assertNotNull($windowNames[2]);
  }
  public function testResizeWindow() {
    $this
      ->getSession()
      ->visit($this
      ->pathTo('/index.html'));
    $session = $this
      ->getSession();
    $session
      ->resizeWindow(400, 300);
    $session
      ->wait(1000, 'false');
    $script = 'return Math.abs(window.outerHeight - 300) <= 100 && Math.abs(window.outerWidth - 400) <= 100;';
    $this
      ->assertTrue($session
      ->evaluateScript($script));
  }
  public function testWindowMaximize() {
    $this
      ->getSession()
      ->visit($this
      ->pathTo('/index.html'));
    $session = $this
      ->getSession();
    $session
      ->maximizeWindow();
    $session
      ->wait(1000, 'false');
    $script = 'return Math.abs(screen.availHeight - window.outerHeight) <= 100;';
    $this
      ->assertTrue($session
      ->evaluateScript($script));
  }

}

Classes

Namesort descending Description
WindowTest