Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/js/exec-state-marking.html

Issue 2847943002: Cleanup LayoutTests that define a function gc(). (Closed)
Patch Set: Fixing Layout Tests Failures Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <p> 1 <p>
2 This page tests for a crash due to insufficient marking of ExecStates. If 2 This page tests for a crash due to insufficient marking of ExecStates. If
3 the test passes, you'll see a series of PASS messages below. 3 the test passes, you'll see a series of PASS messages below.
4 </p> 4 </p>
5 5
6 <pre id="console"> 6 <pre id="console">
7 PASS: You didn't crash. 7 PASS: You didn't crash.
8 </pre> 8 </pre>
9 9
10 <a id="a"></a> 10 <a id="a"></a>
11 11 <script src="../../resources/gc.js"></script>
12 <script> 12 <script>
13 function log(s) 13 function log(s)
14 { 14 {
15 document.getElementById("console").appendChild(document.createTextNode(s + " \n")); 15 document.getElementById("console").appendChild(document.createTextNode(s + " \n"));
16 } 16 }
17 17
18 function shouldBe(a, aDescription, b) 18 function shouldBe(a, aDescription, b)
19 { 19 {
20 if (a == b) { 20 if (a == b) {
21 log("PASS: " + aDescription + " should be " + b + " and is."); 21 log("PASS: " + aDescription + " should be " + b + " and is.");
22 } else { 22 } else {
23 log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + "."); 23 log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + ".");
24 } 24 }
25 } 25 }
26 26
27 function FailureObject() 27 function FailureObject()
28 { 28 {
29 } 29 }
30 30
31 FailureObject.prototype.toString = function() 31 FailureObject.prototype.toString = function()
32 { 32 {
33 return "FAIL"; // A marker to indicate that an object was collected and then overwritten by a FailureObject. 33 return "FAIL"; // A marker to indicate that an object was collected and then overwritten by a FailureObject.
34 } 34 }
35 35
36 function gc()
37 {
38 if (window.GCController)
39 GCController.collect();
40 else
41 for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objec ts to force a GC.
42 new FailureObject;
43 }
44
45 function gc1() 36 function gc1()
46 { 37 {
47 var script = document.createElement("script"); 38 var script = document.createElement("script");
48 script.appendChild(document.createTextNode("gc()")); 39 script.appendChild(document.createTextNode("gc()"));
49 document.body.appendChild(script); 40 document.body.appendChild(script);
50 } 41 }
51 42
52 function gc2() 43 function gc2()
53 { 44 {
54 var a = document.getElementById("a"); 45 var a = document.getElementById("a");
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 80
90 // Now verify that our activation data wasn't collected, by using it in an i nteresting way. 81 // Now verify that our activation data wasn't collected, by using it in an i nteresting way.
91 return v1 + v2 + v3 + v4 + v5; 82 return v1 + v2 + v3 + v4 + v5;
92 } 83 }
93 84
94 if (window.testRunner) 85 if (window.testRunner)
95 testRunner.dumpAsText(); 86 testRunner.dumpAsText();
96 87
97 shouldBe(f(), "f()", "12345"); 88 shouldBe(f(), "f()", "12345");
98 </script> 89 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698