public function ContextHandlerTest::providerTestFilterPluginDefinitionsByContexts in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php \Drupal\Tests\Core\Plugin\ContextHandlerTest::providerTestFilterPluginDefinitionsByContexts()
Provides data for testFilterPluginDefinitionsByContexts().
File
- core/
tests/ Drupal/ Tests/ Core/ Plugin/ ContextHandlerTest.php, line 176 - Contains \Drupal\Tests\Core\Plugin\ContextHandlerTest.
Class
- ContextHandlerTest
- @coversDefaultClass \Drupal\Core\Plugin\Context\ContextHandler @group Plugin
Namespace
Drupal\Tests\Core\PluginCode
public function providerTestFilterPluginDefinitionsByContexts() {
$data = array();
$plugins = array();
// No context and no plugins, no plugins available.
$data[] = array(
FALSE,
$plugins,
array(),
);
$plugins = array(
'expected_plugin' => array(),
);
// No context, all plugins available.
$data[] = array(
FALSE,
$plugins,
$plugins,
);
$plugins = array(
'expected_plugin' => array(
'context' => array(),
),
);
// No context, all plugins available.
$data[] = array(
FALSE,
$plugins,
$plugins,
);
$plugins = array(
'expected_plugin' => array(
'context' => array(
'context1' => new ContextDefinition('expected_data_type'),
),
),
);
// Missing context, no plugins available.
$data[] = array(
FALSE,
$plugins,
array(),
);
// Satisfied context, all plugins available.
$data[] = array(
TRUE,
$plugins,
$plugins,
);
$mismatched_context_definition = (new ContextDefinition('expected_data_type'))
->setConstraints(array(
'mismatched_constraint_name' => 'mismatched_constraint_value',
));
$plugins = array(
'expected_plugin' => array(
'context' => array(
'context1' => $mismatched_context_definition,
),
),
);
// Mismatched constraints, no plugins available.
$data[] = array(
TRUE,
$plugins,
array(),
);
$optional_mismatched_context_definition = clone $mismatched_context_definition;
$optional_mismatched_context_definition
->setRequired(FALSE);
$plugins = array(
'expected_plugin' => array(
'context' => array(
'context1' => $optional_mismatched_context_definition,
),
),
);
// Optional mismatched constraint, all plugins available.
$data[] = array(
FALSE,
$plugins,
$plugins,
);
$expected_context_definition = (new ContextDefinition('expected_data_type'))
->setConstraints(array(
'expected_constraint_name' => 'expected_constraint_value',
));
$plugins = array(
'expected_plugin' => array(
'context' => array(
'context1' => $expected_context_definition,
),
),
);
// Satisfied context with constraint, all plugins available.
$data[] = array(
TRUE,
$plugins,
$plugins,
);
$optional_expected_context_definition = clone $expected_context_definition;
$optional_expected_context_definition
->setRequired(FALSE);
$plugins = array(
'expected_plugin' => array(
'context' => array(
'context1' => $optional_expected_context_definition,
),
),
);
// Optional unsatisfied context, all plugins available.
$data[] = array(
FALSE,
$plugins,
$plugins,
);
$unexpected_context_definition = (new ContextDefinition('unexpected_data_type'))
->setConstraints(array(
'mismatched_constraint_name' => 'mismatched_constraint_value',
));
$plugins = array(
'unexpected_plugin' => array(
'context' => array(
'context1' => $unexpected_context_definition,
),
),
'expected_plugin' => array(
'context' => array(
'context2' => new ContextDefinition('expected_data_type'),
),
),
);
// Context only satisfies one plugin.
$data[] = array(
TRUE,
$plugins,
array(
'expected_plugin' => $plugins['expected_plugin'],
),
);
return $data;
}