Mercurial > hg > nodescore
view node_modules/xmlhttprequest/tests/test-events.js @ 84:a4a9059a3802
local to server
author | Rob Canning <rob@foo.net> |
---|---|
date | Mon, 28 Jul 2014 18:17:02 +0100 |
parents | cd921abc8887 |
children |
line wrap: on
line source
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();