48 lines
1.4 KiB
JavaScript
Executable File
48 lines
1.4 KiB
JavaScript
Executable File
/*eslint strict:0*/
|
|
var currentRequest;
|
|
|
|
function onResourceRequested(requestData, request) {
|
|
currentRequest = requestData;
|
|
}
|
|
|
|
function testHeader(header) {
|
|
return header.name === 'Accept' && header.value === 'application/json';
|
|
}
|
|
|
|
casper.test.begin('requests tests', 3, {
|
|
setUp: function() {
|
|
casper.on('page.resource.requested', onResourceRequested);
|
|
},
|
|
|
|
tearDown: function() {
|
|
currentRequest = undefined;
|
|
casper.removeListener('page.resource.requested', onResourceRequested);
|
|
},
|
|
|
|
test: function(test) {
|
|
casper.start('tests/site/index.html', function() {
|
|
test.assertNot(currentRequest.headers.some(testHeader),
|
|
"Casper.open() sets no custom header by default");
|
|
});
|
|
|
|
casper.thenOpen('tests/site/index.html', {
|
|
headers: {
|
|
Accept: 'application/json'
|
|
}
|
|
}, function() {
|
|
test.assert(currentRequest.headers.some(testHeader),
|
|
"Casper.open() can set a custom header");
|
|
});
|
|
|
|
casper.thenOpen('tests/site/index.html', function() {
|
|
test.assertNot(currentRequest.headers.some(testHeader),
|
|
"Casper.open() custom headers option is not persistent");
|
|
});
|
|
|
|
casper.run(function() {
|
|
this.removeAllListeners('page.resource.requested');
|
|
test.done();
|
|
});
|
|
}
|
|
});
|