Move generic functions to RawMinkContext [1/2]
This commit is contained in:
@@ -91,4 +91,36 @@ class RawMinkContext extends BehatContext implements MinkAwareInterface
|
|||||||
{
|
{
|
||||||
return $this->getMink()->assertSession($name);
|
return $this->getMink()->assertSession($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locates url, based on provided path.
|
||||||
|
* Override to provide custom routing mechanism.
|
||||||
|
*
|
||||||
|
* @param string $path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function locatePath($path)
|
||||||
|
{
|
||||||
|
$startUrl = rtrim($this->getMinkParameter('base_url'), '/') . '/';
|
||||||
|
|
||||||
|
return 0 !== strpos($path, 'http') ? $startUrl . ltrim($path, '/') : $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save a screenshot of the current window to the file system.
|
||||||
|
*
|
||||||
|
* @param string $filename Desired filename, defaults to
|
||||||
|
* <browser_name>_<ISO 8601 date>_<randomId>.png
|
||||||
|
* @param string $filepath Desired filepath, defaults to
|
||||||
|
* upload_tmp_dir, falls back to sys_get_temp_dir()
|
||||||
|
*/
|
||||||
|
public function saveScreenshot($filename = null, $filepath = null)
|
||||||
|
{
|
||||||
|
// Under Cygwin, uniqid with more_entropy must be set to true.
|
||||||
|
// No effect in other environments.
|
||||||
|
$filename = $filename ?: sprintf('%s_%s_%s.%s', $this->getMinkParameter('browser_name'), date('c'), uniqid('', true), 'png');
|
||||||
|
$filepath = $filepath ? $filepath : ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
|
||||||
|
file_put_contents($filepath . '/' . $filename, $this->getSession()->getScreenshot());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user