|
|
'use strict';
|
|
var figlet = require('../lib/node-figlet'),
|
grunt = require('grunt'),
|
fs = require('fs'),
|
path = require('path'),
|
async = require('async');
|
|
/*
|
======== A Handy Little Nodeunit Reference ========
|
https://github.com/caolan/nodeunit
|
|
Test methods:
|
test.expect(numAssertions)
|
test.done()
|
Test assertions:
|
test.ok(value, [message])
|
test.equal(actual, expected, [message])
|
test.notEqual(actual, expected, [message])
|
test.deepEqual(actual, expected, [message])
|
test.notDeepEqual(actual, expected, [message])
|
test.strictEqual(actual, expected, [message])
|
test.notStrictEqual(actual, expected, [message])
|
test.throws(block, [error], [message])
|
test.doesNotThrow(block, [error], [message])
|
test.ifError(value)
|
*/
|
|
exports.figlet = {
|
setUp: function(done) {
|
// setup here if necessary
|
done();
|
},
|
standard: function(test) {
|
test.expect(1);
|
|
figlet('FIGlet\nFONTS', {
|
font: 'Standard',
|
verticalLayout: 'fitted'
|
}, function(err, actual) {
|
var expected = grunt.file.read('test/expected/standard');
|
test.equal(actual, expected, 'Standard font with a vertical layout of "fitted".');
|
|
test.done();
|
});
|
},
|
standardSync: function(test) {
|
test.expect(1);
|
|
var expected = grunt.file.read('test/expected/standard');
|
var actual = figlet.textSync('FIGlet\nFONTS', {font: 'Standard', verticalLayout: 'fitted'});
|
|
test.equal(actual, expected, 'Standard font with a vertical layout of "fitted".');
|
|
test.done();
|
},
|
standardParse: function(test) {
|
test.expect(1);
|
|
var expected = grunt.file.read('test/expected/standard');
|
var data = fs.readFileSync(path.join(__dirname, '../fonts/Standard.flf'), 'utf8');
|
var font = figlet.parseFont('StandardParseFontName', data);
|
var actual = figlet.textSync('FIGlet\nFONTS', {font: 'StandardParseFontName', verticalLayout: 'fitted'});
|
|
test.equal(actual, expected, 'Standard font with a vertical layout of "fitted" loaded using parseFont().');
|
|
test.done();
|
},
|
graffiti: function(test) {
|
test.expect(1);
|
|
figlet.text('ABC.123', {
|
font: 'Graffiti',
|
horizontalLayout: 'fitted'
|
}, function(err, actual) {
|
var expected = grunt.file.read('test/expected/graffiti');
|
test.equal(actual, expected, 'Graffiti font with a horizontal layout of "fitted".');
|
|
test.done();
|
});
|
},
|
graffitiSync: function(test) {
|
test.expect(1);
|
|
var expected = grunt.file.read('test/expected/graffiti');
|
var actual = figlet.textSync('ABC.123', {font: 'Graffiti', horizontalLayout: 'fitted'});
|
test.equal(actual, expected, 'Graffiti font with a horizontal layout of "fitted".');
|
|
test.done();
|
},
|
dancingFont: function(test) {
|
test.expect(1);
|
|
figlet.text('pizzapie', {
|
font: 'Dancing Font',
|
horizontalLayout: 'full'
|
}, function(err, actual) {
|
|
var expected = grunt.file.read('test/expected/dancingFont');
|
test.equal(actual, expected, 'Dancing Font with a horizontal layout of "full".');
|
|
test.done();
|
});
|
},
|
dancingFontSync: function(test) {
|
test.expect(1);
|
|
var expected = grunt.file.read('test/expected/dancingFont');
|
var actual = figlet.textSync('pizzapie', {font: 'Dancing Font', horizontalLayout: 'full'});
|
test.equal(actual, expected, 'Dancing Font with a horizontal layout of "full".');
|
|
test.done();
|
},
|
printDirection: function(test) {
|
test.expect(1);
|
|
figlet.text('pizzapie', {
|
font: 'Dancing Font',
|
horizontalLayout: 'full',
|
printDirection: 1
|
}, function(err, actual) {
|
|
var expected = grunt.file.read('test/expected/dancingFontReverse');
|
test.equal(actual, expected, 'Dancing Font with a reversed print direction.');
|
|
test.done();
|
});
|
},
|
/*
|
This test ensures that all fonts will load without error
|
*/
|
loadAll: function(test) {
|
var errCount = 0;
|
test.expect(1);
|
|
figlet.fonts(function(err, fonts) {
|
if (err) {
|
errCount++;
|
return;
|
}
|
|
async.eachSeries(fonts, function(font, next) {
|
figlet.text('abc ABC ...', {
|
font: font
|
}, function(err, data) {
|
if (err) {
|
errCount++;
|
}
|
next();
|
});
|
}, function(err) {
|
test.equal(errCount, 0, 'A problem occurred while testing one of the fonts.');
|
test.done();
|
});
|
});
|
}
|
};
|