tikiwiki/packages/tiki-pkg-casperjs/jerome-breton/casperjs/tests/suites/casper/encodedurl.js
2023-11-20 20:52:04 +00:00

42 lines
1.7 KiB
JavaScript
Executable File

/*eslint strict:0*/
var urlWithEncodedSpace = 'tests/site/has%20space.html';
var urlWithoutSpace = 'tests/site/index.html';
var urls = [urlWithEncodedSpace, urlWithoutSpace];
if (casper.cli.options.reverse) urls.reverse();
var phantomVersion = 'phantomjs ' + phantom.version.major + '.' + phantom.version.minor + '.' + phantom.version.patch;
var numPageResourcesRequested = 0;
var numPageResourcesReceived = 0;
casper.on ('page.resource.requested', function ResourceRequested (resource) {
++numPageResourcesRequested;
});
casper.on ('page.resource.received', function ResourceReceived (resource) {
++numPageResourcesReceived;
});
casper.test.begin(phantomVersion + ' ' + urls[0] + ' then ' + urls[1], 8, function(test) {
casper.start(urls[0], function CheckResponse1(response1) {
test.assertEquals(numPageResourcesRequested, 1, 'page.resource.requested 1');
test.assertEquals(numPageResourcesReceived, 1, 'page.resource.received 1');
test.assertEquals(response1.status, 200, 'status 200 for ' + urls[0]);
test.assertEquals(response1.url, casper.filter('open.location', urls[0]) || urls[0], 'opened ' + urls[0]); // Mimic Casper.prototype.open
casper.thenOpen (urls[1], function CheckResponse2(response2) {
test.assertEquals(numPageResourcesRequested, 2, 'page.resource.requested 2');
test.assertEquals(numPageResourcesReceived, 2, 'page.resource.received 2');
test.assertEquals(response2.status, 200, 'status 200 for ' + urls[1]);
test.assertEquals(response2.url, casper.filter('open.location', urls[1]) || urls[1], 'opened ' + urls[1]); // Mimic Casper.prototype.open
});
});
casper.run(function() {
test.done();
});
});