Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
373
vendor/behat/mink/src/Session.php
vendored
Normal file
373
vendor/behat/mink/src/Session.php
vendored
Normal file
|
|
@ -0,0 +1,373 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Mink package.
|
||||
* (c) Konstantin Kudryashov <ever.zet@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Behat\Mink;
|
||||
|
||||
use Behat\Mink\Driver\DriverInterface;
|
||||
use Behat\Mink\Selector\SelectorsHandler;
|
||||
use Behat\Mink\Element\DocumentElement;
|
||||
|
||||
/**
|
||||
* Mink session.
|
||||
*
|
||||
* @author Konstantin Kudryashov <ever.zet@gmail.com>
|
||||
*/
|
||||
class Session
|
||||
{
|
||||
private $driver;
|
||||
private $page;
|
||||
private $selectorsHandler;
|
||||
|
||||
/**
|
||||
* Initializes session.
|
||||
*
|
||||
* @param DriverInterface $driver
|
||||
* @param SelectorsHandler $selectorsHandler
|
||||
*/
|
||||
public function __construct(DriverInterface $driver, SelectorsHandler $selectorsHandler = null)
|
||||
{
|
||||
$driver->setSession($this);
|
||||
|
||||
if (null === $selectorsHandler) {
|
||||
$selectorsHandler = new SelectorsHandler();
|
||||
}
|
||||
|
||||
$this->driver = $driver;
|
||||
$this->selectorsHandler = $selectorsHandler;
|
||||
$this->page = new DocumentElement($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether session (driver) was started.
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
public function isStarted()
|
||||
{
|
||||
return $this->driver->isStarted();
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts session driver.
|
||||
*
|
||||
* Calling any action before visiting a page is an undefined behavior.
|
||||
* The only supported method calls on a fresh driver are
|
||||
* - visit()
|
||||
* - setRequestHeader()
|
||||
* - setBasicAuth()
|
||||
* - reset()
|
||||
* - stop()
|
||||
*/
|
||||
public function start()
|
||||
{
|
||||
$this->driver->start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops session driver.
|
||||
*/
|
||||
public function stop()
|
||||
{
|
||||
$this->driver->stop();
|
||||
}
|
||||
|
||||
/**
|
||||
* Restart session driver.
|
||||
*/
|
||||
public function restart()
|
||||
{
|
||||
$this->driver->stop();
|
||||
$this->driver->start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset session driver state.
|
||||
*
|
||||
* Calling any action before visiting a page is an undefined behavior.
|
||||
* The only supported method calls on a fresh driver are
|
||||
* - visit()
|
||||
* - setRequestHeader()
|
||||
* - setBasicAuth()
|
||||
* - reset()
|
||||
* - stop()
|
||||
*/
|
||||
public function reset()
|
||||
{
|
||||
$this->driver->reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns session driver.
|
||||
*
|
||||
* @return DriverInterface
|
||||
*/
|
||||
public function getDriver()
|
||||
{
|
||||
return $this->driver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns page element.
|
||||
*
|
||||
* @return DocumentElement
|
||||
*/
|
||||
public function getPage()
|
||||
{
|
||||
return $this->page;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns selectors handler.
|
||||
*
|
||||
* @return SelectorsHandler
|
||||
*/
|
||||
public function getSelectorsHandler()
|
||||
{
|
||||
return $this->selectorsHandler;
|
||||
}
|
||||
|
||||
/**
|
||||
* Visit specified URL.
|
||||
*
|
||||
* @param string $url url of the page
|
||||
*/
|
||||
public function visit($url)
|
||||
{
|
||||
$this->driver->visit($url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets HTTP Basic authentication parameters.
|
||||
*
|
||||
* @param string|Boolean $user user name or false to disable authentication
|
||||
* @param string $password password
|
||||
*/
|
||||
public function setBasicAuth($user, $password = '')
|
||||
{
|
||||
$this->driver->setBasicAuth($user, $password);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets specific request header.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $value
|
||||
*/
|
||||
public function setRequestHeader($name, $value)
|
||||
{
|
||||
$this->driver->setRequestHeader($name, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all response headers.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getResponseHeaders()
|
||||
{
|
||||
return $this->driver->getResponseHeaders();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns specific response header.
|
||||
*
|
||||
* @param string $name
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getResponseHeader($name)
|
||||
{
|
||||
$headers = $this->driver->getResponseHeaders();
|
||||
|
||||
$name = strtolower($name);
|
||||
$headers = array_change_key_case($headers, CASE_LOWER);
|
||||
|
||||
if (!isset($headers[$name])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return is_array($headers[$name]) ? $headers[$name][0] : $headers[$name];
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets cookie.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $value
|
||||
*/
|
||||
public function setCookie($name, $value = null)
|
||||
{
|
||||
$this->driver->setCookie($name, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns cookie by name.
|
||||
*
|
||||
* @param string $name
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getCookie($name)
|
||||
{
|
||||
return $this->driver->getCookie($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns response status code.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getStatusCode()
|
||||
{
|
||||
return $this->driver->getStatusCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns current URL address.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrentUrl()
|
||||
{
|
||||
return $this->driver->getCurrentUrl();
|
||||
}
|
||||
|
||||
/**
|
||||
* Capture a screenshot of the current window.
|
||||
*
|
||||
* @return string screenshot of MIME type image/* depending
|
||||
* on driver (e.g., image/png, image/jpeg)
|
||||
*/
|
||||
public function getScreenshot()
|
||||
{
|
||||
return $this->driver->getScreenshot();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the names of all open windows.
|
||||
*
|
||||
* @return array Array of all open window's names.
|
||||
*/
|
||||
public function getWindowNames()
|
||||
{
|
||||
return $this->driver->getWindowNames();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the name of the currently active window.
|
||||
*
|
||||
* @return string The name of the current window.
|
||||
*/
|
||||
public function getWindowName()
|
||||
{
|
||||
return $this->driver->getWindowName();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads current session page.
|
||||
*/
|
||||
public function reload()
|
||||
{
|
||||
$this->driver->reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves backward 1 page in history.
|
||||
*/
|
||||
public function back()
|
||||
{
|
||||
$this->driver->back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves forward 1 page in history.
|
||||
*/
|
||||
public function forward()
|
||||
{
|
||||
$this->driver->forward();
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches to specific browser window.
|
||||
*
|
||||
* @param string $name window name (null for switching back to main window)
|
||||
*/
|
||||
public function switchToWindow($name = null)
|
||||
{
|
||||
$this->driver->switchToWindow($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches to specific iFrame.
|
||||
*
|
||||
* @param string $name iframe name (null for switching back)
|
||||
*/
|
||||
public function switchToIFrame($name = null)
|
||||
{
|
||||
$this->driver->switchToIFrame($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute JS in browser.
|
||||
*
|
||||
* @param string $script javascript
|
||||
*/
|
||||
public function executeScript($script)
|
||||
{
|
||||
$this->driver->executeScript($script);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute JS in browser and return it's response.
|
||||
*
|
||||
* @param string $script javascript
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function evaluateScript($script)
|
||||
{
|
||||
return $this->driver->evaluateScript($script);
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits some time or until JS condition turns true.
|
||||
*
|
||||
* @param int $time time in milliseconds
|
||||
* @param string $condition JS condition
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function wait($time, $condition = 'false')
|
||||
{
|
||||
return $this->driver->wait($time, $condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the dimensions of the window.
|
||||
*
|
||||
* @param int $width set the window width, measured in pixels
|
||||
* @param int $height set the window height, measured in pixels
|
||||
* @param string $name window name (null for the main window)
|
||||
*/
|
||||
public function resizeWindow($width, $height, $name = null)
|
||||
{
|
||||
$this->driver->resizeWindow($width, $height, $name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Maximize the window if it is not maximized already.
|
||||
*
|
||||
* @param string $name window name (null for the main window)
|
||||
*/
|
||||
public function maximizeWindow($name = null)
|
||||
{
|
||||
$this->driver->maximizeWindow($name);
|
||||
}
|
||||
}
|
||||
Reference in a new issue