diff --git a/.travis.yml b/.travis.yml
index 02c922d..0e4c4b4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,12 +4,18 @@ php:
- 5.3
- 5.4
+env:
+ - SYMFONY_VERSION='2.1.*'
+ - SYMFONY_VERSION='2.2.*@dev'
+
branches:
only:
- master
before_script:
- curl http://getcomposer.org/installer | php
- - php composer.phar install --dev
+ - php composer.phar require --no-update symfony/symfony=$SYMFONY_VERSION
+ - php composer.phar install --dev --prefer-source
+ - export PATH=./vendor/bin:$PATH
-script: vendor/bin/behat -fprogress
+script: behat -fprogress
diff --git a/composer.json b/composer.json
index f8e441a..0460156 100644
--- a/composer.json
+++ b/composer.json
@@ -12,19 +12,24 @@
}
],
- "minimum-stability": "dev",
-
"require": {
"php": ">=5.3.2",
- "behat/behat": ">=2.4.0,<2.5.0",
- "behat/mink": ">=1.4.0,<1.5.0"
+ "behat/behat": ">=2.4,<2.5-dev",
+ "behat/mink": ">=1.4,<1.5-dev"
},
"require-dev": {
- "behat/mink-goutte-driver": "*"
+ "fabpot/goutte": "1.0.*@dev",
+ "behat/mink-goutte-driver": "1.0.*"
},
"autoload": {
"psr-0": { "Behat\\MinkExtension": "src/" }
+ },
+
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
}
}
diff --git a/i18n/de.xliff b/i18n/de.xliff
index 4979456..662c509 100644
--- a/i18n/de.xliff
+++ b/i18n/de.xliff
@@ -2,133 +2,157 @@
+
+
+
+
+
+
+
+
[^"]+)"$/]]>
- [^"]+)"$/]]>
+ [^"]+)"$/]]>
[^"]+)"$/]]>
- [^"]+)"$/]]>
+ [^"]+)"$/]]>
-
+
-
+
-
+
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)" with "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" "(?P(?:[^"]|\\")*)" ein$/]]>
+ (?:[^"]|\\")*)" "(?P(?:[^"]|\\")*)" ein$/]]>
(?:[^"]|\\")*)" for "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" in "(?P(?:[^"]|\\")*)" ein$/]]>
+ (?:[^"]|\\")*)" in "(?P(?:[^"]|\\")*)" ein$/]]>
-
+
(?:[^"]|\\")*)" from "(?P
- (?:[^"]|\\")*)" von "(?P
+ (?:[^"]|\\")*)" von "(?P
(?:[^"]|\\")*)" from "(?P
- (?:[^"]|\\")*)" von "(?P
+ (?:[^"]|\\")*)" von "(?P
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)"$/]]>
[^"]*)" to "(?P(?:[^"]|\\")*)"$/]]>
- [^"]*)" in "(?P(?:[^"]|\\")*)"$/]]>
-
-
- (?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" sehen$/]]>
-
-
- (?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" enthalten$/]]>
-
-
- (?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" sehen$/]]>
-
-
- (?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" enthalten$/]]>
-
-
- (?:[^"]|\\")*)" field should contain "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" Feld sollte "(?P(?:[^"]|\\")*)" enthalten$/]]>
-
-
- (?:[^"]|\\")*)" field should not contain "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" Feld sollte nicht "(?P(?:[^"]|\\")*)" enthalten$/]]>
-
-
- (?:[^"]|\\")*)" checkbox should be checked$/]]>
- (?:[^"]|\\")*)" checkbox sollte aktiviert sein$/]]>
-
-
- (?:[^"]|\\")*)" checkbox should not be checked$/]]>
- (?:[^"]|\\")*)" checkbox sollte nicht aktiviert sein$/]]>
+ [^"]*)" in "(?P(?:[^"]|\\")*)"$/]]>
[^"]+)"$/]]>
- [^"]+)" sein$/]]>
+ [^"]+)" sein$/]]>
-
+
"([^"]|\\")*")$/]]>
- "([^"]|\\")*") übereinstimmen$/]]>
-
-
- [^"]*)" element should contain "(?P(?:[^"]|\\")*)"$/]]>
- [^"]*)" Element sollte "(?P(?:[^"]|\\")*)" enthalten$/]]>
-
-
- (?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
- (?:[^"]|\\")*)" im "(?P[^"]*)" Element sehen$/]]>
-
-
- [^"]*)" element$/]]>
- [^"]*)" Element sehen$/]]>
-
-
- [^"]*)" element$/]]>
- [^"]*)" Element sehen$/]]>
-
-
- \d+) "(?P[^"]*)" elements?$/]]>
- \d+) "(?P[^"]*)" Elemente? sehen$/]]>
+ "([^"]|\\")*") übereinstimmen$/]]>
\d+)$/]]>
- \d+) sein$/]]>
+ \d+) sein$/]]>
\d+)$/]]>
- \d+) sein$/]]>
+ \d+) sein$/]]>
+
+
+ (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" sehen$/]]>
+
+
+ (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" sehen$/]]>
+
+
+ "(?:[^"]|\\")*")$/]]>
+ "(?:[^"]|\\")*")$/]]>
+
+
+ "(?:[^"]|\\")*")$/]]>
+ "(?:[^"]|\\")*")$/]]>
+
+
+ (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" enthalten$/]]>
+
+
+ (?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" enthalten$/]]>
+
+
+ (?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
+ (?:[^"]|\\")*)" im "(?P[^"]*)" Element sehen$/]]>
+
+
+ (?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
+ (?:[^"]|\\")*)" im "(?P[^"]*)" Element sehen$/]]>
+
+
+ [^"]*)" element should contain "(?P(?:[^"]|\\")*)"$/]]>
+ [^"]*)" Element (?:|sollte )"(?P(?:[^"]|\\")*)" enthalten$/]]>
+
+
+ [^"]*)" element should not contain "(?P(?:[^"]|\\")*)"$/]]>
+ [^"]*)" Element (?:|sollte )nicht "(?P(?:[^"]|\\")*)" enthalten$/]]>
+
+
+ [^"]*)" element$/]]>
+ [^"]*)" Element sehen$/]]>
+
+
+ [^"]*)" element$/]]>
+ [^"]*)" Element sehen$/]]>
+
+
+ (?:[^"]|\\")*)" field should contain "(?P(?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" Feld (?:|sollte )"(?P(?:[^"]|\\")*)" enthalten$/]]>
+
+
+ (?:[^"]|\\")*)" field should not contain "(?P(?:[^"]|\\")*)"$/]]>
+ (?:[^"]|\\")*)" Feld (?:|sollte )nicht "(?P(?:[^"]|\\")*)" enthalten$/]]>
+
+
+ (?:[^"]|\\")*)" checkbox should be checked$/]]>
+ (?:[^"]|\\")*)" checkbox (?:|sollte )aktiviert sein$/]]>
+
+
+ (?:[^"]|\\")*)" checkbox should not be checked$/]]>
+ (?:[^"]|\\")*)" checkbox (?:|sollte )nicht aktiviert sein$/]]>
+
+
+ \d+) "(?P[^"]*)" elements?$/]]>
+ \d+) "(?P[^"]*)" Elemente? sehen$/]]>
diff --git a/i18n/ja.xliff b/i18n/ja.xliff
index 35b6247..4fbefdd 100644
--- a/i18n/ja.xliff
+++ b/i18n/ja.xliff
@@ -4,151 +4,151 @@
[^"]+)"$/]]>
- [^\s]+)" を表示している$/]]>
+ [^\s]+)" を表示している$/u]]>
[^"]+)"$/]]>
- [^\s]+)" へ移動する$/]]>
+ [^\s]+)" へ移動する$/u]]>
-
+
-
+
-
+
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" ボタンをクリックする$/]]>
+ (?:[^"]|\\")*)" ボタンをクリックする$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" のリンク先へ移動する$/]]>
+ (?:[^"]|\\")*)" のリンク先へ移動する$/u]]>
(?:[^"]|\\")*)" with "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" と入力する$/]]>
+ (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" と入力する$/u]]>
(?:[^"]|\\")*)" for "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" という値を "(?P(?:[^"]|\\")*)" に入力する$/]]>
+ (?:[^"]|\\")*)" という値を "(?P(?:[^"]|\\")*)" に入力する$/u]]>
-
+
(?:[^"]|\\")*)" from "(?P
- (?:[^"]|\\")*)" という値を "(?P
+ (?:[^"]|\\")*)" という値を "(?P
(?:[^"]|\\")*)" from "(?P
- (?:[^"]|\\")*)" という値を "(?P
+ (?:[^"]|\\")*)" という値を "(?P
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" にチェックをつける$/]]>
+ (?:[^"]|\\")*)" にチェックをつける$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" のチェックをはずす$/]]>
+ (?:[^"]|\\")*)" のチェックをはずす$/u]]>
[^"]*)" to "(?P(?:[^"]|\\")*)"$/]]>
- [^"]*)" にあるファイルを "(?P(?:[^"]|\\")*)" に添付する$/]]>
+ [^"]*)" にあるファイルを "(?P(?:[^"]|\\")*)" に添付する$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" と表示されていること$/]]>
+ (?:[^"]|\\")*)" と表示されていること$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" が含まれていること$/]]>
+ (?:[^"]|\\")*)" が含まれていること$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" と表示されていないこと$/]]>
+ (?:[^"]|\\")*)" と表示されていないこと$/u]]>
(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" が含まれていないこと$/]]>
+ (?:[^"]|\\")*)" が含まれていないこと$/u]]>
(?:[^"]|\\")*)" field should contain "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" が含まれていること$/]]>
+ (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" が含まれていること$/u]]>
(?:[^"]|\\")*)" field should not contain "(?P(?:[^"]|\\")*)"$/]]>
- (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" が含まれていないこと$/]]>
+ (?:[^"]|\\")*)" フィールドに "(?P(?:[^"]|\\")*)" が含まれていないこと$/u]]>
(?:[^"]|\\")*)" checkbox should be checked$/]]>
- (?:[^"]|\\")*)" のチェックがついていること$/]]>
+ (?:[^"]|\\")*)" のチェックがついていること$/u]]>
(?:[^"]|\\")*)" checkbox should not be checked$/]]>
- (?:[^"]|\\")*)" のチェックがはずれていること$/]]>
+ (?:[^"]|\\")*)" のチェックがはずれていること$/u]]>
[^"]+)"$/]]>
- [^\s]+) を表示していること$/]]>
+ [^\s]+) を表示していること$/u]]>
"([^"]|\\")*")$/]]>
- "([^"]|\\")*") にマッチすること$/]]>
+ "([^"]|\\")*") にマッチすること$/u]]>
[^"]*)" element should contain "(?P(?:[^"]|\\")*)"$/]]>
- [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" という値が含まれていること$/]]>
+ [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" という値が含まれていること$/u]]>
(?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
- [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" と表示されていること$/]]>
+ [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" と表示されていること$/u]]>
(?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
- [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" と表示されていないこと$/]]>
+ [^"]*)" エレメントに "(?P(?:[^"]|\\")*)" と表示されていないこと$/u]]>
[^"]*)" element$/]]>
- [^"]*)" エレメントが表示されていること$/]]>
+ [^"]*)" エレメントが表示されていること$/u]]>
[^"]*)" element$/]]>
- [^"]*)" エレメントが表示されていないこと$/]]>
+ [^"]*)" エレメントが表示されていないこと$/u]]>
\d+) "(?P[^"]*)" elements?$/]]>
- \d+) 個の "(?P[^"]*)" エレメントが表示されていること$/]]>
+ \d+) 個の "(?P[^"]*)" エレメントが表示されていること$/u]]>
\d+)$/]]>
- \d+) であること$/]]>
+ \d+) であること$/u]]>
\d+)$/]]>
- \d+) ではないこと$/]]>
+ \d+) ではないこと$/u]]>
-
+
-
+
"(?:[^"]|\\")*")$/]]>
- "(?:[^"]|\\")*")" にマッチするテキストが表示されていること$/]]>
+ "(?:[^"]|\\")*")" にマッチするテキストが表示されていること$/u]]>
"(?:[^"]|\\")*")$/]]>
- "(?:[^"]|\\")*")" にマッチするテキストが表示されていないこと$/]]>
+ "(?:[^"]|\\")*")" にマッチするテキストが表示されていないこと$/u]]>
diff --git a/i18n/nl.xliff b/i18n/nl.xliff
index 9b1c193..8c566fb 100644
--- a/i18n/nl.xliff
+++ b/i18n/nl.xliff
@@ -2,9 +2,17 @@
+
+
+
+
+
+
+
+
[^"]+)"$/]]>
- [^"]+)" ben$/]]>
+ [^"]+)" ben$/]]>
[^"]+)"$/]]>
@@ -46,6 +54,10 @@
(?:[^"]|\\")*)" from "(?P
(?:[^"]|\\")*)" selecteer voor "(?P
+
+ (?:[^"]|\\")*)" from "(?P
+ (?:[^"]|\\")*)" selecteer voor "(?P
+
(?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)" aanvink$/]]>
@@ -62,6 +74,14 @@
(?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)" zien$/]]>
+
+ "(?:[^"]|\\")*")$/]]>
+ "(?:[^"]|\\")*")$/]]>
+
+
+ "(?:[^"]|\\")*")$/]]>
+ "(?:[^"]|\\")*")$/]]>
+
(?:[^"]|\\")*)"$/]]>
(?:[^"]|\\")*)" bevatten$/]]>
@@ -102,10 +122,18 @@
[^"]*)" element should contain "(?P(?:[^"]|\\")*)"$/]]>
[^"]*)" "(?P(?:[^"]|\\")*)" bevatten$/]]>
+
+ [^"]*)" element should not contain "(?P(?:[^"]|\\")*)"$/]]>
+ [^"]*)" niet "(?P(?:[^"]|\\")*)" bevatten $/]]>
+
(?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
(?:[^"]|\\")*)" zien in "(?P[^"]*)"$/]]>
+
+ (?:[^"]|\\")*)" in the "(?P[^"]*)" element$/]]>
+ (?:[^"]|\\")*)" niet zien in "(?P[^"]*)"$/]]>
+
[^"]*)" element$/]]>
[^"]*)" zien$/]]>
@@ -114,10 +142,18 @@
[^"]*)" element$/]]>
[^"]*)" niet zien$/]]>
+
+ \d+) "(?P[^"]*)" elements?$/]]>
+ \d+) "(?P[^"]*)" elementen zien$/]]>
+
\d+)$/]]>
\d+) zijn$/]]>
+
+ \d+)$/]]>
+ \d+) zijn$/]]>
+
diff --git a/src/Behat/MinkExtension/Context/RawMinkContext.php b/src/Behat/MinkExtension/Context/RawMinkContext.php
index 3056a1b..6c1324a 100644
--- a/src/Behat/MinkExtension/Context/RawMinkContext.php
+++ b/src/Behat/MinkExtension/Context/RawMinkContext.php
@@ -5,7 +5,8 @@ namespace Behat\MinkExtension\Context;
use Behat\Behat\Context\BehatContext;
use Behat\Mink\Mink,
- Behat\Mink\WebAssert;
+ Behat\Mink\WebAssert,
+ Behat\Mink\Session;
/*
* This file is part of the Behat\MinkExtension.
@@ -120,7 +121,7 @@ class RawMinkContext extends BehatContext implements MinkAwareInterface
// 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();
+ $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());
}
}
diff --git a/src/Behat/MinkExtension/Extension.php b/src/Behat/MinkExtension/Extension.php
index 368512d..9066350 100644
--- a/src/Behat/MinkExtension/Extension.php
+++ b/src/Behat/MinkExtension/Extension.php
@@ -98,6 +98,10 @@ class Extension implements ExtensionInterface
$minkParameters[$ns] = $tlValue;
} else {
foreach ($tlValue as $name => $value) {
+ if ('guzzle_parameters' === $name) {
+ $value['redirect.disable'] = true;
+ }
+
$container->setParameter("behat.mink.$ns.$name", $value);
}
}
diff --git a/src/Behat/MinkExtension/Listener/FailureShowListener.php b/src/Behat/MinkExtension/Listener/FailureShowListener.php
index 063d535..9daae53 100644
--- a/src/Behat/MinkExtension/Listener/FailureShowListener.php
+++ b/src/Behat/MinkExtension/Listener/FailureShowListener.php
@@ -7,6 +7,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Behat\Behat\Event\StepEvent;
use Behat\Mink\Mink;
+use Behat\Mink\Exception\Exception as MinkException;
/*
* This file is part of the Behat\MinkExtension.
@@ -79,6 +80,10 @@ class FailureShowListener implements EventSubscriberInterface
if (StepEvent::FAILED !== $event->getResult()) {
return;
}
+
+ if (!$event->getException() instanceof MinkException) {
+ return;
+ }
if (null === $this->parameters['show_cmd']) {
throw new \RuntimeException('Set "show_cmd" parameter in behat.yml to be able to open page in browser (ex.: "show_cmd: open %s")');