Index: LayoutTests/http/tests/xmlhttprequest/onload-event.html |
diff --git a/LayoutTests/http/tests/xmlhttprequest/onload-event.html b/LayoutTests/http/tests/xmlhttprequest/onload-event.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bc1c4c948077df801929c0d0e8165d0ffcf569ba |
--- /dev/null |
+++ b/LayoutTests/http/tests/xmlhttprequest/onload-event.html |
@@ -0,0 +1,64 @@ |
+<!doctype html> |
+<html> |
+<head> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<p> Verify that a load ProgressEvent is dispatched and have the expected values.</p> |
+<div id="log"></div> |
+<script type="text/javascript"> |
+ |
+var xhr; |
+var payload = "data"; |
+var expectedLength = payload.length; |
+var results = ""; |
+var expected = " loadstart readyState=DONE load"; |
+ |
+function verifyProgressEvent(context, e, expected) |
+{ |
+ assert_true(e.lengthComputable); |
+ assert_equals(e.loaded, expected, "Expected 'loaded' value for '" + context + "' event."); |
+ assert_equals(e.total, expected, "Expected 'total' value for '" + context + "' event."); |
+} |
+ |
+function logProgressEvent(e) { |
+ results += " " + e.type; |
+} |
+ |
+function logUnexpectedProgressEvent(e) { |
+ results += " [unexpected ProgressEvent: " + e.type + "]"; |
+ completeTest(); |
+} |
+ |
+function completeTest() |
+{ |
+ assert_equals(results, expected, "Expected load event sequence"); |
+ testOnloadEvent.done(); |
+} |
+ |
+function loadHandler(e) |
+{ |
+ logProgressEvent(e); |
+ assert_true(e instanceof ProgressEvent); |
+ verifyProgressEvent("onload", e, expectedLength); |
+ completeTest(); |
+} |
+ |
+var testOnloadEvent = async_test("Check that 'load' events are delivered and have expected values."); |
+testOnloadEvent.step(function () { |
+ xhr = new XMLHttpRequest(); |
+ xhr.onreadystatechange = testOnloadEvent.step_func(function(e) { |
+ if (xhr.readyState == xhr.DONE) |
+ results += " readyState=DONE"; |
+ }); |
+ xhr.onloadstart = testOnloadEvent.step_func(logProgressEvent); |
+ xhr.onabort = testOnloadEvent.step_func(logUnexpectedProgressEvent); |
+ xhr.onerror = testOnloadEvent.step_func(logUnexpectedProgressEvent); |
+ xhr.onload = testOnloadEvent.step_func(loadHandler); |
+ xhr.open("POST", "resources/post-echo.php", true); |
+ xhr.send(payload); |
+}); |
+</script> |
+</body> |
+</html> |