public function HtmlTagTest::providerPreRenderConditionalComments in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php \Drupal\Tests\Core\Render\Element\HtmlTagTest::providerPreRenderConditionalComments()
Data provider for conditional comments test.
File
- core/
tests/ Drupal/ Tests/ Core/ Render/ Element/ HtmlTagTest.php, line 230
Class
- HtmlTagTest
- @coversDefaultClass \Drupal\Core\Render\Element\HtmlTag @group Render
Namespace
Drupal\Tests\Core\Render\ElementCode
public function providerPreRenderConditionalComments() {
// No browser specification.
$element = [
'#tag' => 'link',
];
$tags['no-browser'] = [
$element,
$element,
];
// Specify all browsers.
$element['#browsers'] = [
'IE' => TRUE,
'!IE' => TRUE,
];
$tags['all-browsers'] = [
$element,
$element,
];
// All IE.
$element = [
'#tag' => 'link',
'#browsers' => [
'IE' => TRUE,
'!IE' => FALSE,
],
];
$expected = $element;
$expected['#prefix'] = "\n<!--[if IE]>\n";
$expected['#suffix'] = "<![endif]-->\n";
$tags['all-ie'] = [
$element,
$expected,
];
// Exclude IE.
$element = [
'#tag' => 'link',
'#browsers' => [
'IE' => FALSE,
],
];
$expected = $element;
$expected['#prefix'] = "\n<!--[if !IE]><!-->\n";
$expected['#suffix'] = "<!--<![endif]-->\n";
$tags['no-ie'] = [
$element,
$expected,
];
// IE gt 8
$element = [
'#tag' => 'link',
'#browsers' => [
'IE' => 'gt IE 8',
],
];
$expected = $element;
$expected['#prefix'] = "\n<!--[if gt IE 8]><!-->\n";
$expected['#suffix'] = "<!--<![endif]-->\n";
$tags['ie9plus'] = [
$element,
$expected,
];
// Prefix and suffix filtering if not safe.
$element = [
'#tag' => 'link',
'#browsers' => [
'IE' => FALSE,
],
'#prefix' => '<blink>prefix</blink>',
'#suffix' => '<blink>suffix</blink>',
];
$expected = $element;
$expected['#prefix'] = "\n<!--[if !IE]><!-->\nprefix";
$expected['#suffix'] = "suffix<!--<![endif]-->\n";
$tags['non-ie-unsafe'] = [
$element,
$expected,
];
// Prefix and suffix filtering if marked as safe. This has to come after the
// previous test case.
$expected['#prefix'] = "\n<!--[if !IE]><!-->\n<blink>prefix</blink>";
$expected['#suffix'] = "<blink>suffix</blink><!--<![endif]-->\n";
$tags['non-ie-safe'] = [
$element,
$expected,
TRUE,
];
return $tags;
}