Chromium Code Reviews| 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..0f73fb34bdc0cd7868c3ff624d9ccb81947d5f3b |
| --- /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."); |
|
tyoshino (SeeGerritForStatus)
2013/11/25 12:35:33
+ " ' event.");
->
+ "' event.");
sof
2013/11/25 15:28:18
Done.
|
| + 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> |