validate that driver is actually installed before activating it

This commit is contained in:
everzet
2012-05-30 10:40:44 +02:00
parent 6cb1dec00a
commit 075a938dc1

View File

@@ -46,19 +46,19 @@ class Extension implements ExtensionInterface
} }
} }
if (isset($config['goutte']) || class_exists('Behat\\Mink\\Driver\\GoutteDriver')) { if (isset($config['goutte'])) {
$loader->load('sessions/goutte.xml'); $loader->load('sessions/goutte.xml');
} }
if (isset($config['sahi']) || class_exists('Behat\\Mink\\Driver\\SahiDriver')) { if (isset($config['sahi'])) {
$loader->load('sessions/sahi.xml'); $loader->load('sessions/sahi.xml');
} }
if (isset($config['zombie']) || class_exists('Behat\\Mink\\Driver\\ZombieDriver')) { if (isset($config['zombie'])) {
$loader->load('sessions/zombie.xml'); $loader->load('sessions/zombie.xml');
} }
if (isset($config['selenium']) || class_exists('Behat\\Mink\\Driver\\SeleniumDriver')) { if (isset($config['selenium'])) {
$loader->load('sessions/selenium.xml'); $loader->load('sessions/selenium.xml');
} }
if (isset($config['selenium2']) || class_exists('Behat\\Mink\\Driver\\Selenium2Driver')) { if (isset($config['selenium2'])) {
$loader->load('sessions/selenium2.xml'); $loader->load('sessions/selenium2.xml');
} }
@@ -117,6 +117,10 @@ class Extension implements ExtensionInterface
defaultValue('firefox')-> defaultValue('firefox')->
end()-> end()->
arrayNode('goutte')-> arrayNode('goutte')->
validate()->
ifTrue(function($v) { return !class_exists('Behat\\Mink\\Driver\\GoutteDriver'); })->
thenInvalid('Install MinkGoutteDriver in order to activate goutte session.')->
end()->
children()-> children()->
arrayNode('server_parameters')-> arrayNode('server_parameters')->
useAttributeAsKey('key')-> useAttributeAsKey('key')->
@@ -125,6 +129,10 @@ class Extension implements ExtensionInterface
end()-> end()->
end()-> end()->
arrayNode('sahi')-> arrayNode('sahi')->
validate()->
ifTrue(function($v) { return !class_exists('Behat\\Mink\\Driver\\SahiDriver'); })->
thenInvalid('Install MinkSahiDriver in order to activate sahi session.')->
end()->
children()-> children()->
scalarNode('sid')-> scalarNode('sid')->
defaultNull()-> defaultNull()->
@@ -138,6 +146,10 @@ class Extension implements ExtensionInterface
end()-> end()->
end()-> end()->
arrayNode('zombie')-> arrayNode('zombie')->
validate()->
ifTrue(function($v) { return !class_exists('Behat\\Mink\\Driver\\ZombieDriver'); })->
thenInvalid('Install MinkZombieDriver in order to activate zombie session.')->
end()->
children()-> children()->
scalarNode('host')-> scalarNode('host')->
defaultValue('127.0.0.1')-> defaultValue('127.0.0.1')->
@@ -154,6 +166,10 @@ class Extension implements ExtensionInterface
end()-> end()->
end()-> end()->
arrayNode('selenium')-> arrayNode('selenium')->
validate()->
ifTrue(function($v) { return !class_exists('Behat\\Mink\\Driver\\SeleniumDriver'); })->
thenInvalid('Install MinkSeleniumDriver in order to activate selenium session.')->
end()->
children()-> children()->
scalarNode('host')-> scalarNode('host')->
defaultValue('127.0.0.1')-> defaultValue('127.0.0.1')->
@@ -167,6 +183,10 @@ class Extension implements ExtensionInterface
end()-> end()->
end()-> end()->
arrayNode('selenium2')-> arrayNode('selenium2')->
validate()->
ifTrue(function($v) { return !class_exists('Behat\\Mink\\Driver\\Selenium2Driver'); })->
thenInvalid('Install MinkSelenium2Driver in order to activate selenium2 session.')->
end()->
children()-> children()->
scalarNode('browser')-> scalarNode('browser')->
defaultValue('%behat.mink.browser_name%')-> defaultValue('%behat.mink.browser_name%')->