Issue #2889378 by WidgetsBurritos, Manuel Garcia: Name test cases on HtmlTagTest

8.4.x
Gabor Hojtsy 2017-07-11 17:14:08 +02:00
parent c128b01f11
commit 3344093323
1 changed files with 24 additions and 24 deletions

View File

@ -48,20 +48,20 @@ class HtmlTagTest extends RendererTestBase {
'#value' => 'value', '#value' => 'value',
'#tag' => 'p', '#tag' => 'p',
]; ];
$tags[] = [$element, '<p>value</p>' . "\n"]; $tags['value'] = [$element, '<p>value</p>' . "\n"];
// Normal element without a value should not result in a void element. // Normal element without a value should not result in a void element.
$element = [ $element = [
'#tag' => 'p', '#tag' => 'p',
'#value' => NULL, '#value' => NULL,
]; ];
$tags[] = [$element, "<p></p>\n"]; $tags['no-value'] = [$element, "<p></p>\n"];
// A void element. // A void element.
$element = [ $element = [
'#tag' => 'br', '#tag' => 'br',
]; ];
$tags[] = [$element, "<br />\n"]; $tags['void-element'] = [$element, "<br />\n"];
// Attributes. // Attributes.
$element = [ $element = [
@ -69,32 +69,32 @@ class HtmlTagTest extends RendererTestBase {
'#attributes' => ['class' => 'test', 'id' => 'id'], '#attributes' => ['class' => 'test', 'id' => 'id'],
'#value' => 'value', '#value' => 'value',
]; ];
$tags[] = [$element, '<div class="test" id="id">value</div>' . "\n"]; $tags['attributes'] = [$element, '<div class="test" id="id">value</div>' . "\n"];
// No script tags. // No script tags.
$element['#noscript'] = TRUE; $element['#noscript'] = TRUE;
$tags[] = [$element, '<noscript><div class="test" id="id">value</div>' . "\n" . '</noscript>']; $tags['noscript'] = [$element, '<noscript><div class="test" id="id">value</div>' . "\n" . '</noscript>'];
// Ensure that #tag is sanitised. // Ensure that #tag is sanitised.
$element = [ $element = [
'#tag' => 'p><script>alert()</script><p', '#tag' => 'p><script>alert()</script><p',
'#value' => 'value', '#value' => 'value',
]; ];
$tags[] = [$element, "<p&gt;&lt;script&gt;alert()&lt;/script&gt;&lt;p>value</p&gt;&lt;script&gt;alert()&lt;/script&gt;&lt;p>\n"]; $tags['sanitized-tag'] = [$element, "<p&gt;&lt;script&gt;alert()&lt;/script&gt;&lt;p>value</p&gt;&lt;script&gt;alert()&lt;/script&gt;&lt;p>\n"];
// Ensure that #value is not filtered if it is marked as safe. // Ensure that #value is not filtered if it is marked as safe.
$element = [ $element = [
'#tag' => 'p', '#tag' => 'p',
'#value' => Markup::create('<script>value</script>'), '#value' => Markup::create('<script>value</script>'),
]; ];
$tags[] = [$element, "<p><script>value</script></p>\n"]; $tags['value-safe'] = [$element, "<p><script>value</script></p>\n"];
// Ensure that #value is filtered if it is not safe. // Ensure that #value is filtered if it is not safe.
$element = [ $element = [
'#tag' => 'p', '#tag' => 'p',
'#value' => '<script>value</script>', '#value' => '<script>value</script>',
]; ];
$tags[] = [$element, "<p>value</p>\n"]; $tags['value-not-safe'] = [$element, "<p>value</p>\n"];
// Ensure that nested render arrays render properly. // Ensure that nested render arrays render properly.
$element = [ $element = [
@ -105,7 +105,7 @@ class HtmlTagTest extends RendererTestBase {
['#markup' => '<b>value2</b>'], ['#markup' => '<b>value2</b>'],
], ],
]; ];
$tags[] = [$element, "<p><b>value1</b><b>value2</b></p>\n"]; $tags['nested'] = [$element, "<p><b>value1</b><b>value2</b></p>\n"];
// Ensure svg elements. // Ensure svg elements.
$element = [ $element = [
@ -117,7 +117,7 @@ class HtmlTagTest extends RendererTestBase {
'y' => 10, 'y' => 10,
], ],
]; ];
$tags[] = [$element, '<rect width="25" height="25" x="5" y="10" />' . "\n"]; $tags['rect'] = [$element, '<rect width="25" height="25" x="5" y="10" />' . "\n"];
$element = [ $element = [
'#tag' => 'circle', '#tag' => 'circle',
@ -127,7 +127,7 @@ class HtmlTagTest extends RendererTestBase {
'r' => 100, 'r' => 100,
], ],
]; ];
$tags[] = [$element, '<circle cx="100" cy="100" r="100" />' . "\n"]; $tags['circle'] = [$element, '<circle cx="100" cy="100" r="100" />' . "\n"];
$element = [ $element = [
'#tag' => 'polygon', '#tag' => 'polygon',
@ -135,7 +135,7 @@ class HtmlTagTest extends RendererTestBase {
'points' => '60,20 100,40 100,80 60,100 20,80 20,40', 'points' => '60,20 100,40 100,80 60,100 20,80 20,40',
], ],
]; ];
$tags[] = [$element, '<polygon points="60,20 100,40 100,80 60,100 20,80 20,40" />' . "\n"]; $tags['polygon'] = [$element, '<polygon points="60,20 100,40 100,80 60,100 20,80 20,40" />' . "\n"];
$element = [ $element = [
'#tag' => 'ellipse', '#tag' => 'ellipse',
@ -146,7 +146,7 @@ class HtmlTagTest extends RendererTestBase {
'ry' => 25, 'ry' => 25,
], ],
]; ];
$tags[] = [$element, '<ellipse cx="60" cy="60" rx="50" ry="25" />' . "\n"]; $tags['ellipse'] = [$element, '<ellipse cx="60" cy="60" rx="50" ry="25" />' . "\n"];
$element = [ $element = [
'#tag' => 'use', '#tag' => 'use',
@ -157,7 +157,7 @@ class HtmlTagTest extends RendererTestBase {
'height' => 50, 'height' => 50,
], ],
]; ];
$tags[] = [$element, '<use x="50" y="10" width="50" height="50" />' . "\n"]; $tags['use'] = [$element, '<use x="50" y="10" width="50" height="50" />' . "\n"];
$element = [ $element = [
'#tag' => 'path', '#tag' => 'path',
@ -168,7 +168,7 @@ class HtmlTagTest extends RendererTestBase {
'stroke-width' => 3, 'stroke-width' => 3,
], ],
]; ];
$tags[] = [$element, '<path d="M 100 100 L 300 100 L 200 300 z" fill="orange" stroke="black" stroke-width="3" />' . "\n"]; $tags['path'] = [$element, '<path d="M 100 100 L 300 100 L 200 300 z" fill="orange" stroke="black" stroke-width="3" />' . "\n"];
$element = [ $element = [
'#tag' => 'stop', '#tag' => 'stop',
@ -177,7 +177,7 @@ class HtmlTagTest extends RendererTestBase {
'stop-color' => '#F60', 'stop-color' => '#F60',
], ],
]; ];
$tags[] = [$element, '<stop offset="5%" stop-color="#F60" />' . "\n"]; $tags['stop'] = [$element, '<stop offset="5%" stop-color="#F60" />' . "\n"];
// Nested svg elements. // Nested svg elements.
$element = [ $element = [
@ -200,7 +200,7 @@ class HtmlTagTest extends RendererTestBase {
], ],
], ],
]; ];
$tags[] = [$element, '<linearGradient><stop offset="5%" stop-color="#F60" />' . "\n" . '<stop offset="95%" stop-color="#FF6" />' . "\n" . '</linearGradient>' . "\n"]; $tags['linearGradient'] = [$element, '<linearGradient><stop offset="5%" stop-color="#F60" />' . "\n" . '<stop offset="95%" stop-color="#FF6" />' . "\n" . '</linearGradient>' . "\n"];
return $tags; return $tags;
} }
@ -225,14 +225,14 @@ class HtmlTagTest extends RendererTestBase {
$element = [ $element = [
'#tag' => 'link', '#tag' => 'link',
]; ];
$tags[] = [$element, $element]; $tags['no-browser'] = [$element, $element];
// Specify all browsers. // Specify all browsers.
$element['#browsers'] = [ $element['#browsers'] = [
'IE' => TRUE, 'IE' => TRUE,
'!IE' => TRUE, '!IE' => TRUE,
]; ];
$tags[] = [$element, $element]; $tags['all-browsers'] = [$element, $element];
// All IE. // All IE.
$element = [ $element = [
@ -245,7 +245,7 @@ class HtmlTagTest extends RendererTestBase {
$expected = $element; $expected = $element;
$expected['#prefix'] = "\n<!--[if IE]>\n"; $expected['#prefix'] = "\n<!--[if IE]>\n";
$expected['#suffix'] = "<![endif]-->\n"; $expected['#suffix'] = "<![endif]-->\n";
$tags[] = [$element, $expected]; $tags['all-ie'] = [$element, $expected];
// Exclude IE. // Exclude IE.
$element = [ $element = [
@ -257,7 +257,7 @@ class HtmlTagTest extends RendererTestBase {
$expected = $element; $expected = $element;
$expected['#prefix'] = "\n<!--[if !IE]><!-->\n"; $expected['#prefix'] = "\n<!--[if !IE]><!-->\n";
$expected['#suffix'] = "<!--<![endif]-->\n"; $expected['#suffix'] = "<!--<![endif]-->\n";
$tags[] = [$element, $expected]; $tags['no-ie'] = [$element, $expected];
// IE gt 8 // IE gt 8
$element = [ $element = [
@ -269,7 +269,7 @@ class HtmlTagTest extends RendererTestBase {
$expected = $element; $expected = $element;
$expected['#prefix'] = "\n<!--[if gt IE 8]><!-->\n"; $expected['#prefix'] = "\n<!--[if gt IE 8]><!-->\n";
$expected['#suffix'] = "<!--<![endif]-->\n"; $expected['#suffix'] = "<!--<![endif]-->\n";
$tags[] = [$element, $expected]; $tags['ie9plus'] = [$element, $expected];
// Prefix and suffix filtering if not safe. // Prefix and suffix filtering if not safe.
$element = [ $element = [
@ -283,13 +283,13 @@ class HtmlTagTest extends RendererTestBase {
$expected = $element; $expected = $element;
$expected['#prefix'] = "\n<!--[if !IE]><!-->\nprefix"; $expected['#prefix'] = "\n<!--[if !IE]><!-->\nprefix";
$expected['#suffix'] = "suffix<!--<![endif]-->\n"; $expected['#suffix'] = "suffix<!--<![endif]-->\n";
$tags[] = [$element, $expected]; $tags['non-ie-unsafe'] = [$element, $expected];
// Prefix and suffix filtering if marked as safe. This has to come after the // Prefix and suffix filtering if marked as safe. This has to come after the
// previous test case. // previous test case.
$expected['#prefix'] = "\n<!--[if !IE]><!-->\n<blink>prefix</blink>"; $expected['#prefix'] = "\n<!--[if !IE]><!-->\n<blink>prefix</blink>";
$expected['#suffix'] = "<blink>suffix</blink><!--<![endif]-->\n"; $expected['#suffix'] = "<blink>suffix</blink><!--<![endif]-->\n";
$tags[] = [$element, $expected, TRUE]; $tags['non-ie-safe'] = [$element, $expected, TRUE];
return $tags; return $tags;
} }