stuff
This commit is contained in:
13
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-constants.js
generated
vendored
Normal file
13
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-constants.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest();
|
||||
|
||||
// Test constant values
|
||||
assert.equal(0, xhr.UNSENT);
|
||||
assert.equal(1, xhr.OPENED);
|
||||
assert.equal(2, xhr.HEADERS_RECEIVED);
|
||||
assert.equal(3, xhr.LOADING);
|
||||
assert.equal(4, xhr.DONE);
|
||||
|
||||
sys.puts("done");
|
50
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-events.js
generated
vendored
Normal file
50
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-events.js
generated
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
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();
|
59
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-exceptions.js
generated
vendored
Normal file
59
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-exceptions.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest();
|
||||
|
||||
// Test request methods that aren't allowed
|
||||
try {
|
||||
xhr.open("TRACK", "http://localhost:8000/");
|
||||
console.log("ERROR: TRACK should have thrown exception");
|
||||
} catch(e) {}
|
||||
try {
|
||||
xhr.open("TRACE", "http://localhost:8000/");
|
||||
console.log("ERROR: TRACE should have thrown exception");
|
||||
} catch(e) {}
|
||||
try {
|
||||
xhr.open("CONNECT", "http://localhost:8000/");
|
||||
console.log("ERROR: CONNECT should have thrown exception");
|
||||
} catch(e) {}
|
||||
// Test valid request method
|
||||
try {
|
||||
xhr.open("GET", "http://localhost:8000/");
|
||||
} catch(e) {
|
||||
console.log("ERROR: Invalid exception for GET", e);
|
||||
}
|
||||
|
||||
// Test forbidden headers
|
||||
var forbiddenRequestHeaders = [
|
||||
"accept-charset",
|
||||
"accept-encoding",
|
||||
"access-control-request-headers",
|
||||
"access-control-request-method",
|
||||
"connection",
|
||||
"content-length",
|
||||
"content-transfer-encoding",
|
||||
"cookie",
|
||||
"cookie2",
|
||||
"date",
|
||||
"expect",
|
||||
"host",
|
||||
"keep-alive",
|
||||
"origin",
|
||||
"referer",
|
||||
"te",
|
||||
"trailer",
|
||||
"transfer-encoding",
|
||||
"upgrade",
|
||||
"via"
|
||||
];
|
||||
|
||||
for (var i in forbiddenRequestHeaders) {
|
||||
if(xhr.setRequestHeader(forbiddenRequestHeaders[i], "Test") !== false) {
|
||||
console.log("ERROR: " + forbiddenRequestHeaders[i] + " should have thrown exception");
|
||||
}
|
||||
}
|
||||
|
||||
// Try valid header
|
||||
xhr.setRequestHeader("X-Foobar", "Test");
|
||||
|
||||
console.log("Done");
|
76
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-headers.js
generated
vendored
Normal file
76
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-headers.js
generated
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest()
|
||||
, http = require("http");
|
||||
|
||||
// Test server
|
||||
var server = http.createServer(function (req, res) {
|
||||
// Test setRequestHeader
|
||||
assert.equal("Foobar", req.headers["x-test"]);
|
||||
// Test non-conforming allowed header
|
||||
assert.equal("node-XMLHttpRequest-test", req.headers["user-agent"]);
|
||||
// Test header set with blacklist disabled
|
||||
assert.equal("http://github.com", req.headers["referer"]);
|
||||
|
||||
var body = "Hello World";
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/plain",
|
||||
"Content-Length": Buffer.byteLength(body),
|
||||
// Set cookie headers to see if they're correctly suppressed
|
||||
// Actual values don't matter
|
||||
"Set-Cookie": "foo=bar",
|
||||
"Set-Cookie2": "bar=baz",
|
||||
"Date": "Thu, 30 Aug 2012 18:17:53 GMT",
|
||||
"Connection": "close"
|
||||
});
|
||||
res.write("Hello World");
|
||||
res.end();
|
||||
|
||||
this.close();
|
||||
}).listen(8000);
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
// Test getAllResponseHeaders()
|
||||
var headers = "content-type: text/plain\r\ncontent-length: 11\r\ndate: Thu, 30 Aug 2012 18:17:53 GMT\r\nconnection: close";
|
||||
assert.equal(headers, this.getAllResponseHeaders());
|
||||
|
||||
// Test case insensitivity
|
||||
assert.equal('text/plain', this.getResponseHeader('Content-Type'));
|
||||
assert.equal('text/plain', this.getResponseHeader('Content-type'));
|
||||
assert.equal('text/plain', this.getResponseHeader('content-Type'));
|
||||
assert.equal('text/plain', this.getResponseHeader('content-type'));
|
||||
|
||||
// Test aborted getAllResponseHeaders
|
||||
this.abort();
|
||||
assert.equal("", this.getAllResponseHeaders());
|
||||
assert.equal(null, this.getResponseHeader("Connection"));
|
||||
|
||||
sys.puts("done");
|
||||
}
|
||||
};
|
||||
|
||||
assert.equal(null, xhr.getResponseHeader("Content-Type"));
|
||||
try {
|
||||
xhr.open("GET", "http://localhost:8000/");
|
||||
// Valid header
|
||||
xhr.setRequestHeader("X-Test", "Foobar");
|
||||
// Invalid header
|
||||
xhr.setRequestHeader("Content-Length", 0);
|
||||
// Allowed header outside of specs
|
||||
xhr.setRequestHeader("user-agent", "node-XMLHttpRequest-test");
|
||||
// Test getRequestHeader
|
||||
assert.equal("Foobar", xhr.getRequestHeader("X-Test"));
|
||||
// Test invalid header
|
||||
assert.equal("", xhr.getRequestHeader("Content-Length"));
|
||||
|
||||
// Test allowing all headers
|
||||
xhr.setDisableHeaderCheck(true);
|
||||
xhr.setRequestHeader("Referer", "http://github.com");
|
||||
assert.equal("http://github.com", xhr.getRequestHeader("Referer"));
|
||||
|
||||
xhr.send();
|
||||
} catch(e) {
|
||||
console.log("ERROR: Exception raised", e);
|
||||
}
|
41
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-302.js
generated
vendored
Normal file
41
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-302.js
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest()
|
||||
, http = require("http");
|
||||
|
||||
// Test server
|
||||
var server = http.createServer(function (req, res) {
|
||||
if (req.url === '/redirectingResource') {
|
||||
res.writeHead(302, {'Location': 'http://localhost:8000/'});
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
|
||||
var body = "Hello World";
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/plain",
|
||||
"Content-Length": Buffer.byteLength(body),
|
||||
"Date": "Thu, 30 Aug 2012 18:17:53 GMT",
|
||||
"Connection": "close"
|
||||
});
|
||||
res.write("Hello World");
|
||||
res.end();
|
||||
|
||||
this.close();
|
||||
}).listen(8000);
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
assert.equal(xhr.getRequestHeader('Location'), '');
|
||||
assert.equal(xhr.responseText, "Hello World");
|
||||
sys.puts("done");
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
xhr.open("GET", "http://localhost:8000/redirectingResource");
|
||||
xhr.send();
|
||||
} catch(e) {
|
||||
console.log("ERROR: Exception raised", e);
|
||||
}
|
41
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-303.js
generated
vendored
Normal file
41
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-303.js
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest()
|
||||
, http = require("http");
|
||||
|
||||
// Test server
|
||||
var server = http.createServer(function (req, res) {
|
||||
if (req.url === '/redirectingResource') {
|
||||
res.writeHead(303, {'Location': 'http://localhost:8000/'});
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
|
||||
var body = "Hello World";
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/plain",
|
||||
"Content-Length": Buffer.byteLength(body),
|
||||
"Date": "Thu, 30 Aug 2012 18:17:53 GMT",
|
||||
"Connection": "close"
|
||||
});
|
||||
res.write("Hello World");
|
||||
res.end();
|
||||
|
||||
this.close();
|
||||
}).listen(8000);
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
assert.equal(xhr.getRequestHeader('Location'), '');
|
||||
assert.equal(xhr.responseText, "Hello World");
|
||||
sys.puts("done");
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
xhr.open("POST", "http://localhost:8000/redirectingResource");
|
||||
xhr.send();
|
||||
} catch(e) {
|
||||
console.log("ERROR: Exception raised", e);
|
||||
}
|
43
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-307.js
generated
vendored
Normal file
43
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-redirect-307.js
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr = new XMLHttpRequest()
|
||||
, http = require("http");
|
||||
|
||||
// Test server
|
||||
var server = http.createServer(function (req, res) {
|
||||
if (req.url === '/redirectingResource') {
|
||||
res.writeHead(307, {'Location': 'http://localhost:8000/'});
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
|
||||
assert.equal(req.method, 'POST');
|
||||
|
||||
var body = "Hello World";
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/plain",
|
||||
"Content-Length": Buffer.byteLength(body),
|
||||
"Date": "Thu, 30 Aug 2012 18:17:53 GMT",
|
||||
"Connection": "close"
|
||||
});
|
||||
res.write("Hello World");
|
||||
res.end();
|
||||
|
||||
this.close();
|
||||
}).listen(8000);
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
assert.equal(xhr.getRequestHeader('Location'), '');
|
||||
assert.equal(xhr.responseText, "Hello World");
|
||||
sys.puts("done");
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
xhr.open("POST", "http://localhost:8000/redirectingResource");
|
||||
xhr.send();
|
||||
} catch(e) {
|
||||
console.log("ERROR: Exception raised", e);
|
||||
}
|
62
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-request-methods.js
generated
vendored
Normal file
62
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-request-methods.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
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]);
|
32
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-request-protocols.js
generated
vendored
Normal file
32
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/test-request-protocols.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
var sys = require("util")
|
||||
, assert = require("assert")
|
||||
, XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
|
||||
, xhr;
|
||||
|
||||
xhr = new XMLHttpRequest();
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
assert.equal("Hello World", this.responseText);
|
||||
runSync();
|
||||
}
|
||||
};
|
||||
|
||||
// Async
|
||||
var url = "file://" + __dirname + "/testdata.txt";
|
||||
xhr.open("GET", url);
|
||||
xhr.send();
|
||||
|
||||
// Sync
|
||||
var runSync = function() {
|
||||
xhr = new XMLHttpRequest();
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
assert.equal("Hello World", this.responseText);
|
||||
sys.puts("done");
|
||||
}
|
||||
};
|
||||
xhr.open("GET", url, false);
|
||||
xhr.send();
|
||||
}
|
1
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/testdata.txt
generated
vendored
Normal file
1
buildfiles/app/node_modules/xmlhttprequest-ssl/tests/testdata.txt
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
Hello World
|
Reference in New Issue
Block a user