123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- var sys = require("util")
- , assert = require("assert")
- , http = require("http")
- , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
- , xhr;
- // Test server
- var server = http.createServer(function (req, res) {
- var body = (req.method != "HEAD" ? "Hello World" : "");
- res.writeHead(200, {
- "Content-Type": "text/plain",
- "Content-Length": Buffer.byteLength(body)
- });
- // HEAD has no body
- if (req.method != "HEAD") {
- res.write(body);
- }
- res.end();
- assert.equal(onreadystatechange, true);
- assert.equal(readystatechange, true);
- assert.equal(removed, true);
- sys.puts("done");
- this.close();
- }).listen(8000);
- xhr = new XMLHttpRequest();
- // Track event calls
- var onreadystatechange = false;
- var readystatechange = false;
- var removed = true;
- var removedEvent = function() {
- removed = false;
- };
- xhr.onreadystatechange = function() {
- onreadystatechange = true;
- };
- xhr.addEventListener("readystatechange", function() {
- readystatechange = true;
- });
- // This isn't perfect, won't guarantee it was added in the first place
- xhr.addEventListener("readystatechange", removedEvent);
- xhr.removeEventListener("readystatechange", removedEvent);
- xhr.open("GET", "http://localhost:8000");
- xhr.send();
|