blob: 969ec63fd439b0687e778a6ac36cf997ce9c01c3 [file] [log] [blame]
var assert = require("assert"),
path = require("path"),
utils = require("./utils");
var tab;
var Network;
var Console;
before(function(done) {
utils.loadTab('network.html', function(aTab) {
tab = aTab;
Network = aTab.Network;
Console = aTab.Console;
Network.startLogging(function(err) {
assert.strictEqual(err, null);
done();
})
});
});
// Network - startLogging(), stopLogging(), sendHTTPRequest(), event:network-event
describe('"network-event" event', function() {
it('should receive "network-event" event with message', function(done) {
Network.once('network-event', function(event) {
assert.equal(event.method, "GET");
assert.equal(path.basename(event.url), "test-network.json");
assert.ok(event.isXHR);
assert.ok(event.getResponseHeaders, "event has NetworkEvent methods")
done();
});
Console.evaluateJS("sendRequest()")
})
})
describe('sendHTTPRequest()', function() {
it('should send a new XHR request from page', function(done) {
var request = {
url: "test-network.json",
method: "GET",
headers: [{name: "test-header", value: "test-value"}]
};
Network.sendHTTPRequest(request, function(err, netEvent) {
assert.strictEqual(err, null);
assert.ok(netEvent.getResponseHeaders, "event has NetworkEvent methods");
done();
});
})
})
// NetworkEvent - getRequestHeaders(), getRequestCookies(), getRequestPostData(),
// getResponseHeaders(), getResponseCookies(), getResponseContent(), getEventTimings()
// event:update
describe('getRequestHeaders(', function() {
it('should get request headers', function(done) {
Network.on('network-event', function(netEvent) {
netEvent.on("request-headers", function(event) {
assert.ok(event.headers);
assert.ok(event.headersSize);
netEvent.getRequestHeaders(function(err, resp) {
assert.strictEqual(err, null);
var found = resp.headers.some(function(header) {
return header.name == "test-header" &&
header.value == "test-value";
});
assert.ok(found, "contains that header we sent");
done();
})
})
});
Console.evaluateJS("sendRequest()");
})
})
// TODO: NetworkEvent tests
after(function() {
Network.stopLogging(function(err) {
assert.strictEqual(err, null);
});
})