function ContextHandlerTest::providerTestGetMatchingContexts
Same name in other branches
- 8.9.x core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php \Drupal\Tests\Core\Plugin\ContextHandlerTest::providerTestGetMatchingContexts()
- 10 core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php \Drupal\Tests\Core\Plugin\ContextHandlerTest::providerTestGetMatchingContexts()
- 11.x core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php \Drupal\Tests\Core\Plugin\ContextHandlerTest::providerTestGetMatchingContexts()
Provides data for testGetMatchingContexts().
File
-
core/
tests/ Drupal/ Tests/ Core/ Plugin/ ContextHandlerTest.php, line 142
Class
- ContextHandlerTest
- @coversDefaultClass \Drupal\Core\Plugin\Context\ContextHandler @group Plugin
Namespace
Drupal\Tests\Core\PluginCode
public function providerTestGetMatchingContexts() {
$requirement_any = new ContextDefinition();
$requirement_specific = new ContextDefinition('string');
$requirement_specific->setConstraints([
'Blank' => [],
]);
$context_any = $this->createMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_any->expects($this->atLeastOnce())
->method('getContextDefinition')
->willReturn(new ContextDefinition('any'));
$context_constraint_mismatch = $this->createMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_constraint_mismatch->expects($this->atLeastOnce())
->method('getContextDefinition')
->willReturn(new ContextDefinition('foo'));
$context_datatype_mismatch = $this->createMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_datatype_mismatch->expects($this->atLeastOnce())
->method('getContextDefinition')
->willReturn(new ContextDefinition('fuzzy'));
$context_definition_specific = new ContextDefinition('string');
$context_definition_specific->setConstraints([
'Blank' => [],
]);
$context_specific = $this->createMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_specific->expects($this->atLeastOnce())
->method('getContextDefinition')
->willReturn($context_definition_specific);
$data = [];
// No context will return no valid contexts.
$data[] = [
[],
$requirement_any,
];
// A context with a generic matching requirement is valid.
$data[] = [
[
$context_any,
],
$requirement_any,
];
// A context with a specific matching requirement is valid.
$data[] = [
[
$context_specific,
],
$requirement_specific,
];
// A context with a mismatched constraint is invalid.
$data[] = [
[
$context_constraint_mismatch,
],
$requirement_specific,
[],
];
// A context with a mismatched datatype is invalid.
$data[] = [
[
$context_datatype_mismatch,
],
$requirement_specific,
[],
];
return $data;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.