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(?:[^"]|\\")*)"$/]]> (?:[^"]|\\")*)"$/]]> - (?:[^"]|\\")*)"$/]]> + (?:[^"]|\\")*)"$/]]> (?:[^"]|\\")*)"$/]]> - (?:[^"]|\\")*)"$/]]> + (?:[^"]|\\")*)"$/]]> [^"]*)" 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(?:[^"]|\\")*)" から追加で選択する$/u]]> (?:[^"]|\\")*)"$/]]> - (?:[^"]|\\")*)" にチェックをつける$/]]> + (?:[^"]|\\")*)" にチェックをつける$/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(?:[^"]|\\")*)"$/]]> + + (?:[^"]|\\")*)" from "(?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")');