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

42 lines
1.7 KiB
JavaScript
Executable File

/*eslint strict:0*/
var fs = require('fs');
casper.test.begin('base64encode() and download() tests', 8, function(test) {
// FIXME: https://github.com/ariya/phantomjs/pull/364 has been merged, update scheme
casper.start('file://' + phantom.casperPath + '/tests/site/index.html', function() {
var imageUrl = 'file://' + phantom.casperPath + '/tests/site/images/phantom.png',
image = this.base64encode(imageUrl);
test.assertEquals(image.length, 6160, 'Casper.base64encode() can retrieve base64 contents');
this.download(imageUrl, '__test_logo.png');
test.assert(fs.exists('__test_logo.png'), 'Casper.download() downloads a file');
if (fs.exists('__test_logo.png')) {
fs.remove('__test_logo.png');
}
})
.then(function() {
var csvFile = 'file://' + phantom.casperPath + '/tests/site/csv/base64encode.csv';
this.download(csvFile, '__base64encode.csv');
test.assert(fs.exists('__base64encode.csv'), 'Casper.download() downloads a file');
var stream = fs.open('__base64encode.csv', 'r'),
expectedValues = [
'إختبار,',
'آزمایشی,',
'测试',
'испытание',
'परीकi'
],
i = 0,
lines = stream.read().split(/[\n]/);
expectedValues.forEach(function(value) {
test.assertEquals(lines[i], value, 'Casper.base64encode() can retrieve base64 complex strings');
i++;
});
if (fs.exists('__base64encode.csv')) {
fs.remove('__base64encode.csv');
}
}).run(function() {
test.done();
});
});