Contains \Drupal\php\Tests\Condition\PhpConditionTest.
<?php
/**
* @file
* Contains \Drupal\php\Tests\Condition\PhpConditionTest.
*/
namespace Drupal\php\Tests\Condition;
use Drupal\simpletest\DrupalUnitTestBase;
/**
* Tests the php condition.
*/
class PhpConditionTest extends DrupalUnitTestBase {
/**
* The condition plugin manager.
*
* @var \Drupal\Core\Condition\ConditionManager
*/
protected $manager;
/**
* Modules to enable.
*
* @var array
*/
public static $modules = array(
'system',
'php',
);
public static function getInfo() {
return array(
'name' => 'PHP Condition Plugin',
'description' => 'Tests that the PHP Condition, provided by the php module, is working properly.',
'group' => 'Condition API',
);
}
protected function setUp() {
parent::setUp();
$this->manager = $this->container
->get('plugin.manager.condition');
}
/**
* Tests conditions.
*/
public function testConditions() {
// Grab the PHP condition and configure it to check against a php snippet.
$condition = $this->manager
->createInstance('php')
->setConfig('php', '<?php return TRUE; ?>');
$this
->assertTrue($condition
->execute(), 'PHP condition passes as expected.');
// Check for the proper summary.
$this
->assertEqual($condition
->summary(), 'When the given PHP evaluates as TRUE.');
// Set the PHP snippet to return FALSE.
$condition
->setConfig('php', '<?php return FALSE; ?>');
$this
->assertFalse($condition
->execute(), 'PHP condition fails as expected.');
// Negate the condition.
$condition
->setConfig('negate', TRUE);
// Check for the proper summary.
$this
->assertEqual($condition
->summary(), 'When the given PHP evaluates as FALSE.');
// Reverse the negation.
$condition
->setConfig('negate', FALSE);
// Set and empty snippet.
$condition
->setConfig('php', FALSE);
// Check for the proper summary.
$this
->assertEqual($condition
->summary(), 'No PHP code has been provided.');
}
}
Name | Description |
---|---|
PhpConditionTest | Tests the php condition. |