| 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.");
|
| + 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>
|
|
|