1 var sys = require("util")
2 , assert = require("assert")
3 , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
4 , xhr = new XMLHttpRequest()
5 , http = require("http");
8 var server = http.createServer(function (req, res) {
9 // Test setRequestHeader
10 assert.equal("Foobar", req.headers["x-test"]);
12 var body = "Hello World";
14 "Content-Type": "text/plain",
15 "Content-Length": Buffer.byteLength(body),
16 // Set cookie headers to see if they're correctly suppressed
17 // Actual values don't matter
18 "Set-Cookie": "foo=bar",
19 "Set-Cookie2": "bar=baz",
22 res.write("Hello World");
28 xhr.onreadystatechange = function() {
29 if (this.readyState == 4) {
30 // Test getAllResponseHeaders()
31 var headers = "content-type: text/plain\r\ncontent-length: 11\r\nconnection: close";
32 assert.equal(headers, this.getAllResponseHeaders());
34 // Test case insensitivity
35 assert.equal('text/plain', this.getResponseHeader('Content-Type'));
36 assert.equal('text/plain', this.getResponseHeader('Content-type'));
37 assert.equal('text/plain', this.getResponseHeader('content-Type'));
38 assert.equal('text/plain', this.getResponseHeader('content-type'));
40 // Test aborted getAllResponseHeaders
42 assert.equal("", this.getAllResponseHeaders());
43 assert.equal(null, this.getResponseHeader("Connection"));
49 assert.equal(null, xhr.getResponseHeader("Content-Type"));
51 xhr.open("GET", "http://localhost:8000/");
53 xhr.setRequestHeader("X-Test", "Foobar");
55 xhr.setRequestHeader("Content-Length", 0);
56 // Test getRequestHeader
57 assert.equal("Foobar", xhr.getRequestHeader("X-Test"));
60 console.log("ERROR: Exception raised", e);