- some JavaScript syntax test cases
[WebKit-https.git] / LayoutTests / fast / js / delete-syntax.html
1 <body>
2 <p>
3 This test checks whether various forms of delete expression are
4 allowed. It should print the numbers 1-10 on separate lines, and
5 nothing else (besides this paragraph).
6 <p>
7 <hr>
8 <pre id="console">
9 </pre>
10 <script>
11 if (window.layoutTestController)
12     layoutTestController.dumpAsText();
13
14 function log(s)
15 {
16     document.getElementById('console').innerHTML += s + '<br>';
17 }
18
19 window.x = 0;
20 window.y = 0;
21
22 try { eval ('log(delete x);'); } catch (e) { log("FAIL"); }
23 window.x = 0;
24 window.y = 0;
25 try { eval ('log(delete window.x);'); } catch (e) { log("FAIL"); }
26 window.x = 0;
27 window.y = 0;
28 try { eval ('log(delete window["x"]);'); } catch (e) { log("FAIL"); }
29 window.x = 0;
30 window.y = 0;
31 try { eval ('log(delete (x));'); } catch (e) { log("FAIL"); }
32 window.x = 0;
33 window.y = 0;
34 try { eval ('log(delete (window.x));'); } catch (e) { log("FAIL"); }
35 window.x = 0;
36 window.y = 0;
37 try { eval ('log(delete (window["x"]));'); } catch (e) { log("FAIL"); }
38 window.x = 0;
39 window.y = 0;
40 try { eval ('log((y, delete x));'); } catch (e) { log("FAIL"); }
41 window.x = 0;
42 window.y = 0;
43 try { eval ('log(delete ((x)));'); } catch (e) { log("FAIL"); }
44 window.x = 0;
45 window.y = 0;
46 try { eval ('log(delete ((window.x)));'); } catch (e) { log("FAIL"); }
47 window.x = 0;
48 window.y = 0;
49 try { eval ('log(delete ((window["x"])));'); } catch (e) { log("FAIL"); }
50 window.x = 0;
51 window.y = 0;
52 try { eval ('log(delete (y, x));'); } catch (e) { log("FAIL"); }
53 window.x = 0;
54 window.y = 0;
55 try { eval ('log(delete (true ? x : y));'); } catch (e) { log("FAIL"); }
56 window.x = 0;
57 window.y = 0;
58
59 try { eval ('log(delete nonexistent)'); } catch (e) { log("FAIL"); }
60 try { eval ('log(delete window.nonexistent)'); } catch (e) { log("FAIL"); }
61 try { eval ('log(delete window["nonexistent"])'); } catch (e) { log("FAIL");}
62 try { eval ('log(delete (nonexistent))'); } catch (e) { log("FAIL");}
63 try { eval ('log(delete (window.nonexistent))'); } catch (e) { log("FAIL"); }
64 try { eval ('log(delete (window["nonexistent"]))'); } catch (e) { log("FAIL"); }
65
66 try { eval ('log(delete "x")'); } catch (e) { log("FAIL"); }
67 try { eval ('log(delete (2 + 3))'); } catch (e) { log("FAIL"); }
68
69
70 </script>
71
72 </body>