123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- var sys = require("util")
- , assert = require("assert")
- , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
- , http = require("http")
- , xhr;
- // Test server
- var server = http.createServer(function (req, res) {
- // Check request method and URL
- assert.equal(methods[curMethod], req.method);
- assert.equal("/" + methods[curMethod], req.url);
- 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();
- if (curMethod == methods.length - 1) {
- this.close();
- sys.puts("done");
- }
- }).listen(8000);
- // Test standard methods
- var methods = ["GET", "POST", "HEAD", "PUT", "DELETE"];
- var curMethod = 0;
- function start(method) {
- // Reset each time
- xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (this.readyState == 4) {
- if (method == "HEAD") {
- assert.equal("", this.responseText);
- } else {
- assert.equal("Hello World", this.responseText);
- }
- curMethod++;
- if (curMethod < methods.length) {
- sys.puts("Testing " + methods[curMethod]);
- start(methods[curMethod]);
- }
- }
- };
- var url = "http://localhost:8000/" + method;
- xhr.open(method, url);
- xhr.send();
- }
- sys.puts("Testing " + methods[curMethod]);
- start(methods[curMethod]);
|