65 lines
2.7 KiB
JavaScript
65 lines
2.7 KiB
JavaScript
|
/*eslint strict:0*/
|
||
|
casper.test.begin('onStepComplete() hook tests', 1, function(test) {
|
||
|
var stepResults = [];
|
||
|
casper.options.onStepComplete = function(self, stepResult) {
|
||
|
stepResults.push(stepResult);
|
||
|
};
|
||
|
casper.start('tests/site/index.html', function() {
|
||
|
return 'ok';
|
||
|
});
|
||
|
casper.run(function() {
|
||
|
test.assert(stepResults.indexOf('ok') > -1,
|
||
|
'Casper.options.onStepComplete() is called on step complete');
|
||
|
this.options.onStepComplete = undefined;
|
||
|
test.done();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
casper.test.begin('onResourceRequested() & onResourceReceived() hook tests', 6, function(test) {
|
||
|
var requests = [], responses = [];
|
||
|
casper.options.onResourceRequested = function(self, request) {
|
||
|
requests.push(request);
|
||
|
};
|
||
|
casper.options.onResourceReceived = function(self, response) {
|
||
|
responses.push(response);
|
||
|
};
|
||
|
casper.start('tests/site/index.html', function() {
|
||
|
test.assert(requests.some(function(request) {
|
||
|
return (/index\.html$/).test(request.url);
|
||
|
}), 'onResourceRequested() receives page requests');
|
||
|
test.assert(requests.some(function(request) {
|
||
|
return (/phantom\.png$/).test(request.url);
|
||
|
}), 'onResourceRequested() receives image requests');
|
||
|
test.assert(responses.some(function(response) {
|
||
|
return response.stage === 'start' && (/index\.html$/).test(response.url);
|
||
|
}), 'onResourceReceived() receives page response on load start');
|
||
|
test.assert(responses.some(function(response) {
|
||
|
return response.stage === 'end' && (/index\.html$/).test(response.url);
|
||
|
}), 'onResourceReceived() receives page response on load end');
|
||
|
test.assert(responses.some(function(response) {
|
||
|
return response.stage === 'start' && (/phantom\.png$/).test(response.url);
|
||
|
}), 'onResourceReceived() receives image response on load start');
|
||
|
test.assert(responses.some(function(response) {
|
||
|
return response.stage === 'end' && (/phantom\.png$/).test(response.url);
|
||
|
}), 'onResourceReceived() receives image response on load end');
|
||
|
});
|
||
|
casper.run(function() {
|
||
|
this.options.onResourceReceived = this.options.onResourceRequested = undefined;
|
||
|
test.done();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
casper.test.begin('onAlert() hook tests', 1, function(test) {
|
||
|
var message;
|
||
|
casper.options.onAlert = function(self, msg) {
|
||
|
message = msg;
|
||
|
};
|
||
|
casper.start('tests/site/alert.html', function() {
|
||
|
test.assertEquals(message, 'plop', 'Casper.options.onAlert() can intercept an alert message');
|
||
|
});
|
||
|
casper.run(function() {
|
||
|
this.options.onAlert = null;
|
||
|
test.done();
|
||
|
});
|
||
|
});
|