File: exectest.html

package info (click to toggle)
wine-development 4.2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 209,180 kB
  • sloc: ansic: 2,917,742; perl: 18,943; yacc: 15,637; makefile: 9,182; objc: 6,548; lex: 4,315; python: 1,786; cpp: 1,042; sh: 771; java: 742; xml: 557; awk: 69; cs: 17
file content (142 lines) | stat: -rw-r--r-- 4,238 bytes parent folder | download | duplicates (9)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<html>
<body>
Script execution test
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
<script id="emptyscript"></script>
<script id="put_text_script">2+2</script>
<script>
function ok(b, msg) {
    return external.ok(b, msg);
}

var executed = false;
var extern_cnt = 0;
var exec_cnt;

function testWriteScript() {
    var len = document.getElementsByTagName('div').length;
    ok(len === 3, "init length = " + len);

    document.write("<script>"
        + "var len = document.getElementsByTagName('div').length;"
        + "ok(len === 3, 'unexpected length ' + len);"
        + "executed = true;"
        + "<" + "/script>");

    len = document.getElementsByTagName('script').length;
    ok(len === 4, "script col length = " + len);
    ok(executed, "written script not executed");
}

function testPutSrc() {
    var elem = document.getElementById("emptyscript");

    ok(extern_cnt === 0, "extern_cnt = " + extern_cnt + " expected 0");
    elem.src = "externscr.js";
    ok(extern_cnt === 0, "extern_cnt = " + extern_cnt + " expected 0");
}

function testPutText() {
    var elem = document.getElementById("put_text_script");

    exec_cnt = 0;
    elem.text = "exec_cnt++;";
    ok(exec_cnt === 1, "put_text_script exec_cnt " + exec_cnt);

    exec_cnt = 0;
    elem.text = "exec_cnt++;";
    ok(exec_cnt === 1, "put_text_script exec_cnt " + exec_cnt);
}

try {
    testWriteScript();
    testPutSrc();
    testPutText();
}catch(e) {
    ok(false, "Got an exception " + e.message);
}

function testPutSrc2() {
    var elem, elem2;

    elem = document.createElement("script");
    elem.src = "externscr.js";
    ok(extern_cnt === 1, "extern_cnt = " + extern_cnt + " expected 1");
    document.body.appendChild(elem);
    ok(extern_cnt === 2, "extern_cnt = " + extern_cnt + " expected 2");

    elem = document.createElement("script");
    document.body.appendChild(elem);
    ok(extern_cnt === 2, "extern_cnt = " + extern_cnt + " expected 2");
    elem.src = "externscr.js";
    ok(extern_cnt === 3, "extern_cnt = " + extern_cnt + " expected 3");

    elem2 = document.createElement("div");
    elem = document.createElement("script");
    elem.src = "externscr.js";
    ok(extern_cnt === 3, "extern_cnt = " + extern_cnt + " expected 3");
    elem2.appendChild(elem);
    document.body.appendChild(elem2);
    ok(extern_cnt === 4, "extern_cnt = " + extern_cnt + " expected 4");
}

function testPutText2() {
    var elem;

    elem = document.createElement("script");
    exec_cnt = 0;
    elem.text = "exec_cnt++;";
    ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);

    document.body.appendChild(elem);
    ok(exec_cnt === 1, "script exec_cnt " + exec_cnt);
    exec_cnt = 0;
    elem.text = "exec_cnt++;";
    ok(exec_cnt === 1, "script exec_cnt " + exec_cnt);

    elem.src = "externscr.js";
    ok(extern_cnt === 5, "extern_cnt = " + extern_cnt + " expected 5");

    exec_cnt = 0;
    ok(extern_cnt === 5, "> extern_cnt = " + extern_cnt + " expected 5");
    elem.text = "exec_cnt++;"; /* forces evaluation, but src will be executed */
    ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);
    ok(extern_cnt === 6, "< extern_cnt = " + extern_cnt + " expected 6");
    elem.text = "exec_cnt++;"; /* forces evaluation, but src will be executed */
    ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);
    ok(extern_cnt === 7, "< extern_cnt = " + extern_cnt + " expected 6");

    elem = document.createElement("script");
    exec_cnt = 0;
    elem.text = "exec_cnt++;";
    ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);
    elem.src = "externscr.js";
    ok(extern_cnt === 7, "extern_cnt = " + extern_cnt + " expected 7");

    document.body.appendChild(elem);
    ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);
    ok(extern_cnt === 8, "extern_cnt = " + extern_cnt + " expected 8");
}

document.body.onload = function() {
    ok(extern_cnt === 1, "extern_cnt = " + extern_cnt);
    try {
        testPutSrc2();
        testPutText2();
    }catch(e) {
        ok(false, "got an exception " + e.message);
    }

    external.reportSuccess();
}
</script>
<script>
    ok(extern_cnt === 1, "extern_cnt = " + extern_cnt);
</script>
<div id="a1"></div>
<div id="a2"></div>
<div id="b3"></div>
</body>
</html>