class ConditionAccessResolverTraitTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php \Drupal\Tests\Core\Condition\ConditionAccessResolverTraitTest
- 10 core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php \Drupal\Tests\Core\Condition\ConditionAccessResolverTraitTest
- 8.9.x core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php \Drupal\Tests\Core\Condition\ConditionAccessResolverTraitTest
@coversDefaultClass \Drupal\Core\Condition\ConditionAccessResolverTrait
@group Condition
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Condition\ConditionAccessResolverTraitTest implements \Drupal\Tests\UnitTestCase
Expanded class hierarchy of ConditionAccessResolverTraitTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Condition/ ConditionAccessResolverTraitTest.php, line 17
Namespace
Drupal\Tests\Core\ConditionView source
class ConditionAccessResolverTraitTest extends UnitTestCase {
/**
* Tests the resolveConditions() method.
*
* @covers ::resolveConditions
*
* @dataProvider providerTestResolveConditions
*/
public function testResolveConditions($conditions, $logic, $expected) {
$trait_object = new TestConditionAccessResolverTrait();
$this->assertEquals($expected, $trait_object->resolveConditions($conditions, $logic));
}
public function providerTestResolveConditions() {
$data = [];
$condition_true = $this->createMock('Drupal\\Core\\Condition\\ConditionInterface');
$condition_true->expects($this->any())
->method('execute')
->willReturn(TRUE);
$condition_false = $this->createMock('Drupal\\Core\\Condition\\ConditionInterface');
$condition_false->expects($this->any())
->method('execute')
->willReturn(FALSE);
$condition_exception = $this->createMock('Drupal\\Core\\Condition\\ConditionInterface');
$condition_exception->expects($this->any())
->method('execute')
->will($this->throwException(new ContextException()));
$condition_exception->expects($this->atLeastOnce())
->method('isNegated')
->willReturn(FALSE);
$condition_negated = $this->createMock('Drupal\\Core\\Condition\\ConditionInterface');
$condition_negated->expects($this->any())
->method('execute')
->will($this->throwException(new ContextException()));
$condition_negated->expects($this->atLeastOnce())
->method('isNegated')
->willReturn(TRUE);
$conditions = [];
$data[] = [
$conditions,
'and',
TRUE,
];
$data[] = [
$conditions,
'or',
FALSE,
];
$conditions = [
$condition_false,
];
$data[] = [
$conditions,
'or',
FALSE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_true,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
TRUE,
];
$conditions = [
$condition_true,
$condition_false,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_exception,
];
$data[] = [
$conditions,
'or',
FALSE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_true,
$condition_exception,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_exception,
$condition_true,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_false,
$condition_exception,
];
$data[] = [
$conditions,
'or',
FALSE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_exception,
$condition_false,
];
$data[] = [
$conditions,
'or',
FALSE,
];
$data[] = [
$conditions,
'and',
FALSE,
];
$conditions = [
$condition_negated,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
TRUE,
];
$conditions = [
$condition_negated,
$condition_negated,
];
$data[] = [
$conditions,
'or',
TRUE,
];
$data[] = [
$conditions,
'and',
TRUE,
];
return $data;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.