tikiwiki/packages/tiki-pkg-casperjs/jerome-breton/casperjs/tests/suites/casper/urls.js

66 lines
1.8 KiB
JavaScript
Raw Normal View History

2023-11-20 21:52:04 +01:00
/*eslint strict:0*/
casper.test.begin('urls tests', 9, function(test) {
var assertURL = function(match, message) {
test.assertHttpStatus(200);
test.assertUrlMatches(match, message);
};
casper.start('tests/site/urls.html#fragment');
casper.waitForUrl(/urls.html/, function() {
assertURL('urls.html', 'Casper.start loads URL with fragment');
test.assertEqual(casper.evaluate(function() {
return location.hash;
}), '#fragment', 'location.hash equals fragment');
});
casper.then(function() {
this.clickLabel('raw unicode', 'a');
});
casper.waitForUrl(/Forlì/,
assertURL.bind(this,
'Forlì',
'Casper.getCurrentUrl() retrieves a raw unicode URL'
));
casper.then(function() {
this.clickLabel('escaped', 'a');
});
casper.waitForUrl(/Farlì/,
assertURL.bind(this,
'Farlì',
'Casper.getCurrentUrl() retrieves an escaped URL'
));
casper.then(function() {
this.clickLabel('uri encoded', 'a');
});
casper.waitForUrl(/Furlì/,
assertURL.bind(this,
'Furlì',
'Casper.getCurrentUrl() retrieves a decoded URL'
));
casper.run(function() {
test.done();
});
});
// https://github.com/casperjs/casperjs/issues/841
casper.test.begin('url tests with javascript disabled', 1, function(test) {
casper.options.pageSettings.javascriptEnabled = false;
casper.start('tests/site/urls.html');
casper.then(function() {
test.assertMatch(this.getCurrentUrl(), /urls\.html$/,
'Casper.getCurrentUrl() can work, with javascript disabled');
});
casper.run(function() {
test.done();
casper.options.pageSettings.javascriptEnabled = true;
});
});