socketioMEANseed/server/node_modules/xmlhttprequest-ssl/tests/test-events.js
server/node_modules/xmlhttprequest-ssl/tests/test-events.jsRaw
1var sys = require("util")
2 , assert = require("assert")
3 , http = require("http")
4 , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
5 , xhr;
6
7// Test server
8var server = http.createServer(function (req, res) {
9 var body = (req.method != "HEAD" ? "Hello World" : "");
10
11 res.writeHead(200, {
12 "Content-Type": "text/plain",
13 "Content-Length": Buffer.byteLength(body)
14 });
15 // HEAD has no body
16 if (req.method != "HEAD") {
17 res.write(body);
18 }
19 res.end();
20 assert.equal(onreadystatechange, true);
21 assert.equal(readystatechange, true);
22 assert.equal(removed, true);
23 sys.puts("done");
24 this.close();
25}).listen(8000);
26
27xhr = new XMLHttpRequest();
28
29// Track event calls
30var onreadystatechange = false;
31var readystatechange = false;
32var removed = true;
33var removedEvent = function() {
34 removed = false;
35};
36
37xhr.onreadystatechange = function() {
38 onreadystatechange = true;
39};
40
41xhr.addEventListener("readystatechange", function() {
42 readystatechange = true;
43});
44
45// This isn't perfect, won't guarantee it was added in the first place
46xhr.addEventListener("readystatechange", removedEvent);
47xhr.removeEventListener("readystatechange", removedEvent);
48
49xhr.open("GET", "http://localhost:8000");
50xhr.send();