function AttributeTest::providerTestAttributeValues

File

core/tests/Drupal/Tests/Core/Template/AttributeTest.php, line 384

Class

AttributeTest
Tests Drupal\Core\Template\Attribute.

Namespace

Drupal\Tests\Core\Template

Code

public static function providerTestAttributeValues() {
  $data = [];
  $string = '"> <script>alert(123)</script>"';
  $data['safe-object-xss1'] = [
    [
      'title' => Markup::create($string),
    ],
    ' title="&quot;&gt; alert(123)&quot;"',
  ];
  $data['non-safe-object-xss1'] = [
    [
      'title' => $string,
    ],
    ' title="' . Html::escape($string) . '"',
  ];
  $string = '&quot;><script>alert(123)</script>';
  $data['safe-object-xss2'] = [
    [
      'title' => Markup::create($string),
    ],
    ' title="&quot;&gt;alert(123)"',
  ];
  $data['non-safe-object-xss2'] = [
    [
      'title' => $string,
    ],
    ' title="' . Html::escape($string) . '"',
  ];
  // \Twig\Markup objects are generated when using twig defined variables
  // like `{% set xxx %}Foo{% endset %}`.
  $data['twig-markup'] = [
    [
      'title' => new TwigMarkup('foo', 'UTF-8'),
    ],
    ' title="foo"',
  ];
  return $data;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.