diff --git a/parser/htmlparser/tests/mochitest/Makefile.in b/parser/htmlparser/tests/mochitest/Makefile.in index d2b4ebef5cf8..1b640bdda07a 100644 --- a/parser/htmlparser/tests/mochitest/Makefile.in +++ b/parser/htmlparser/tests/mochitest/Makefile.in @@ -87,6 +87,8 @@ _TEST_FILES = parser_datreader.js \ test_bug642908.html \ file_bug642908.sjs \ test_bug645115.html \ + test_bug655682.html \ + file_bug655682.sjs \ $(NULL) # Disabled test due to orange on Linux diff --git a/parser/htmlparser/tests/mochitest/file_bug655682.sjs b/parser/htmlparser/tests/mochitest/file_bug655682.sjs new file mode 100644 index 000000000000..c63a179f8d78 --- /dev/null +++ b/parser/htmlparser/tests/mochitest/file_bug655682.sjs @@ -0,0 +1,34 @@ +var timer; +var callback; + +function handleRequest(request, response) +{ + if (request.queryString.indexOf("trigger") != -1) { + setState("triggered", "triggered"); + response.setHeader("Cache-Control", "no-cache", false); + response.setHeader("Content-Type", "text/javascript; charset=utf-8", false); + response.write(";"); + } else { + response.processAsync(); + response.setHeader("Cache-Control", "no-cache", false); + response.setHeader("Content-Type", "text/html; charset=utf-8", false); + response.write(" "); + response.bodyOutputStream.flush(); + timer = Components.classes["@mozilla.org/timer;1"] + .createInstance(Components.interfaces.nsITimer); + + callback = function() { + if (getState("triggered") == "triggered") { + response.write("
AB
"); + response.finish(); + } else { + timer.initWithCallback(callback, + 10, + Components.interfaces.nsITimer.TYPE_ONE_SHOT); + } + } + timer.initWithCallback(callback, + 10, + Components.interfaces.nsITimer.TYPE_ONE_SHOT); + } +} diff --git a/parser/htmlparser/tests/mochitest/test_bug655682.html b/parser/htmlparser/tests/mochitest/test_bug655682.html new file mode 100644 index 000000000000..c3e809d3f5f3 --- /dev/null +++ b/parser/htmlparser/tests/mochitest/test_bug655682.html @@ -0,0 +1,81 @@ + + + + + Test for Bug 655682 + + + + + +Mozilla Bug 655682 +

+ +
+
+
+ +