public function ContextHandlerTest::providerTestGetMatchingContexts in Zircon Profile 8.0
Same name and namespace in other branches
- 8 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 111 - Contains \Drupal\Tests\Core\Plugin\ContextHandlerTest.
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('specific');
$requirement_specific
->setConstraints(array(
'bar' => 'baz',
));
$context_any = $this
->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_any
->expects($this
->atLeastOnce())
->method('getContextDefinition')
->will($this
->returnValue(new ContextDefinition('empty')));
$context_constraint_mismatch = $this
->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_constraint_mismatch
->expects($this
->atLeastOnce())
->method('getContextDefinition')
->will($this
->returnValue(new ContextDefinition('foo')));
$context_datatype_mismatch = $this
->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_datatype_mismatch
->expects($this
->atLeastOnce())
->method('getContextDefinition')
->will($this
->returnValue(new ContextDefinition('fuzzy')));
$context_definition_specific = new ContextDefinition('specific');
$context_definition_specific
->setConstraints(array(
'bar' => 'baz',
));
$context_specific = $this
->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface');
$context_specific
->expects($this
->atLeastOnce())
->method('getContextDefinition')
->will($this
->returnValue($context_definition_specific));
$data = array();
// No context will return no valid contexts.
$data[] = array(
array(),
$requirement_any,
);
// A context with a generic matching requirement is valid.
$data[] = array(
array(
$context_any,
),
$requirement_any,
);
// A context with a specific matching requirement is valid.
$data[] = array(
array(
$context_specific,
),
$requirement_specific,
);
// A context with a mismatched constraint is invalid.
$data[] = array(
array(
$context_constraint_mismatch,
),
$requirement_specific,
array(),
);
// A context with a mismatched datatype is invalid.
$data[] = array(
array(
$context_datatype_mismatch,
),
$requirement_specific,
array(),
);
return $data;
}