summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/encoding/resources/parser-tests.js
blob: fb55af9478635b1269c6adb6128d68b4b7454d5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
document.write('<p>This test suite was converted from http://www.hixie.ch/tests/adhoc/html/parsing/encoding/all.html</p>' +
 '<p>The suite has been broken up to run the tests in smaller batches.</p>' +
 '<ul>Expected failures:' +
   '<li>56, 57, 58, 59 - we do not run scripts during encoding detection phase and parser treats meta inside a script as text, not a tag.</li>' +
   '<li>60 - parser treats meta inside style as text, not a tag.</li>' +
   '<li>97, 99, 102 - we do not run scripts during encoding detection.</li>' +
  '</ul>' +
  '<p>Status: <span id="status">Tests did not run.</span></p>' +
  '<p>Serious failures:</p>' +
  '<ol id="failures">' +
  '</ol>' +
  '<p>(Tests are considered to pass even if they treat Win1254 and ISO-8859-4 as separate.)</p>' +
  '<p><iframe id="test"></iframe></p>');

if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();
}

var frame = document.getElementById('test');
var current = 0;
var max = 0;

function dotest() {
    var s = current + '';
    while (s.length < 3) s = '0' + s;
    frame.src = 'resources/' + s + '.html';
    window.receivedResults = function () {
        var want = frame.contentWindow.document.getElementById('expected').firstChild.data;
        var have = frame.contentWindow.document.getElementById('encoding').firstChild.data;
        if (have == 'ISO-8859-9')
            have = 'Windows-1254';
        if (want != have) {
            var li = document.createElement('li');
            var a = document.createElement('a');
            a.appendChild(document.createTextNode('test ' + s));
            a.href = s + '.html';
            li.appendChild(a);
            li.appendChild(document.createTextNode(': expected ' + want + '; used ' + have));
            var pre = document.createElement('pre');
            pre.appendChild(document.createTextNode(frame.contentWindow.document.getElementsByTagName('pre')[0].firstChild.data));
            li.appendChild(pre);
            li.value = current;
            document.getElementById('failures').appendChild(li);
        }
        current += 1;
        if (current <= max)
            dotest();
        else {
            frame.parentNode.removeChild(frame);
            document.getElementById('status').innerText = "Tests ran.";
            if (window.layoutTestController)
                layoutTestController.notifyDone();
        }
    };
}

function runtests(c, m) {
    current = c;
    max = m;
    dotest();
}

function alert() { }