function HtmlEscapedTextTest::providerToString

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Component/Render/HtmlEscapedTextTest.php \Drupal\Tests\Component\Render\HtmlEscapedTextTest::providerToString()
  2. 10 core/tests/Drupal/Tests/Component/Render/HtmlEscapedTextTest.php \Drupal\Tests\Component\Render\HtmlEscapedTextTest::providerToString()
  3. 11.x core/tests/Drupal/Tests/Component/Render/HtmlEscapedTextTest.php \Drupal\Tests\Component\Render\HtmlEscapedTextTest::providerToString()

Data provider for testToString().

See also

testToString()

File

core/tests/Drupal/Tests/Component/Render/HtmlEscapedTextTest.php, line 34

Class

HtmlEscapedTextTest
Tests the HtmlEscapedText class.

Namespace

Drupal\Tests\Component\Render

Code

public function providerToString() {
    // Checks that invalid multi-byte sequences are escaped.
    $tests[] = [
        "Foo\xc0barbaz",
        'Foo�barbaz',
        'Escapes invalid sequence "Foo\\xC0barbaz"',
    ];
    $tests[] = [
        "\xc2\"",
        '�"',
        'Escapes invalid sequence "\\xc2\\""',
    ];
    $tests[] = [
        "Fooÿñ",
        "Fooÿñ",
        'Does not escape valid sequence "Fooÿñ"',
    ];
    // Checks that special characters are escaped.
    $script_tag = $this->prophesize(MarkupInterface::class);
    $script_tag->__toString()
        ->willReturn('<script>');
    $script_tag = $script_tag->reveal();
    $tests[] = [
        $script_tag,
        '&lt;script&gt;',
        'Escapes &lt;script&gt; even inside an object that implements MarkupInterface.',
    ];
    $tests[] = [
        "<script>",
        '&lt;script&gt;',
        'Escapes &lt;script&gt;',
    ];
    $tests[] = [
        '<>&"\'',
        '&lt;&gt;&amp;&quot;&#039;',
        'Escapes reserved HTML characters.',
    ];
    $specialchars = $this->prophesize(MarkupInterface::class);
    $specialchars->__toString()
        ->willReturn('<>&"\'');
    $specialchars = $specialchars->reveal();
    $tests[] = [
        $specialchars,
        '&lt;&gt;&amp;&quot;&#039;',
        'Escapes reserved HTML characters even inside an object that implements MarkupInterface.',
    ];
    return $tests;
}

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