Test case for jQuery Ticket 8111

Enhancement for Sizzle.getText

by jitter

HTML

<script src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>
<link rel="stylesheet" href="http://github.com/jquery/qunit/raw/master/qunit/qunit.css">
<script src="https://gist.github.com/raw/807092/7f51c3cf62a746805feeeaaa1a959f8e3b1afb56/textFast.js"></script>
<h1 id="qunit-header">QUnit test for .text improvements</h1>

<!-- no modification needed on the following line -->
<h2 id="qunit-banner"></h2><h2 id="qunit-userAgent"></h2><ol id="qunit-tests"></ol>

<div id="qunit-fixture">
    <div id="one">
        a
        <p>b</p>
        <!-- _NO_U_ -->
        <script type="foo/bar">c</script>
    </div>
</div>

JavaScript

module("text tests");

test("text test", 12, function() {
    stop();
    var xdiv,
        hdiv = $("#one"),
        check = "abc",
        clean = function(text) {
            return text && text.replace(/[\n|\r|\s]+/ig, "");
        },
        runTests = function(div, str) {

            equal(clean(div[0].textContent), check, str + " textContent - div[0]");

            equal(clean(div[0].innerText), check, str + " innerText - div[0]");

            equal(clean(div.text()), check, str + " text() - div");
            equal(clean(div.textFast()), check, str + " textFast() - div");

            equal(clean(div.contents().text()), check, str + " text() - div.contents()");
            equal(clean(div.contents().textFast()), check, str + " textFast() - div.contents()");
        }

        $.when(
            $.ajax({
                url: "/echo/xml/",
                type: "POST",
                data: {
                    xml: '<div id="one">\na\n<p>b</p>\n<!--_NO-U_-->\n<?ha _NO-NO-U_ ?>\n<script type="foo/bar">c</scr' + 'ipt>\n</div>'
                },
                success: function(data) {
                    xdiv = $("div", data);
                }
            })
        ).then(function() {
            runTests(hdiv, "html");
            runTests(xdiv, "xml");
            start();
        })
});