Index: sky/tests/framework/xmlhttprequest/xhr-does-not-exist.sky |
diff --git a/sky/tests/framework/xmlhttprequest/xhr-does-not-exist.sky b/sky/tests/framework/xmlhttprequest/xhr-does-not-exist.sky |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e88c4c9a39fe30daf374b602fdedf0d4ee5903af |
--- /dev/null |
+++ b/sky/tests/framework/xmlhttprequest/xhr-does-not-exist.sky |
@@ -0,0 +1,26 @@ |
+<sky> |
+<import src="/sky/tests/resources/chai.sky" /> |
+<import src="/sky/tests/resources/mocha.sky" /> |
+<import src="/sky/framework/xmlhttprequest.sky" as="XMLHttpRequest" /> |
+<script> |
+describe("xmlhttprequest", function() { |
+ it("should call onerror when endpoint does not exist", function(done) { |
+ var xhr = new XMLHttpRequest(); |
+ xhr.open("GET", "does_not_exist.html"); |
+ xhr.onerror = function() { |
+ assert.fail("onload", "onerror", "onerror should not be called."); |
+ done(); |
+ } |
+ xhr.onload = function() { |
+ // Missing files are application-level errors, not network errors |
+ // so onload fires, not onerror. |
+ assert.equal(xhr.status, 404); |
+ assert.equal(xhr.statusText, "HTTP/1.1 404 Not Found", |
+ "status text should also be 404"); |
+ done(); |
+ } |
+ xhr.send(); |
+ }); |
+}); |
+</script> |
+</sky> |