|
|
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();
|