Add a test for badge.js and refactor
This commit is contained in:
parent
2d71e844a2
commit
3905424d1c
|
@ -56,6 +56,8 @@
|
|||
],
|
||||
"devDependencies": {
|
||||
"eslint": "^3.18.0",
|
||||
"is-png": "^1.0.0",
|
||||
"is-svg": "^2.1.0",
|
||||
"mocha": "^3.2.0"
|
||||
}
|
||||
}
|
||||
|
|
15
test/badge.spec.js
Normal file
15
test/badge.spec.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
const assert = require('assert');
|
||||
const isSvg = require('is-svg');
|
||||
|
||||
const badge = require('../lib/badge');
|
||||
|
||||
describe('The badge generator', function () {
|
||||
it('should produce SVG', function(done) {
|
||||
badge({ text: ['cactus', 'grown'], format: 'svg' }, svg => {
|
||||
assert.ok(isSvg(svg));
|
||||
assert(svg.includes('cactus'), 'cactus');
|
||||
assert(svg.includes('grown'), 'grown');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
|
@ -2,6 +2,8 @@ var assert = require('assert');
|
|||
var http = require('http');
|
||||
var cproc = require('child_process');
|
||||
var fs = require('fs');
|
||||
var isPng = require('is-png');
|
||||
var isSvg = require('is-svg');
|
||||
|
||||
// Test parameters
|
||||
var port = '1111';
|
||||
|
@ -27,7 +29,7 @@ describe('The CLI', function () {
|
|||
['test/cli-test.js', 'cactus', 'grown']);
|
||||
child.stdout.once('data', function(chunk) {
|
||||
var buffer = ''+chunk;
|
||||
assert(buffer.startsWith('<svg'), '<svg');
|
||||
assert.ok(isSvg(buffer));
|
||||
assert(buffer.includes('cactus'), 'cactus');
|
||||
assert(buffer.includes('grown'), 'grown');
|
||||
done();
|
||||
|
@ -39,7 +41,7 @@ describe('The CLI', function () {
|
|||
['test/cli-test.js', 'cactus', 'grown', ':green']);
|
||||
child.stdout.once('data', function(chunk) {
|
||||
var buffer = ''+chunk;
|
||||
assert(buffer.startsWith('<svg'), '<svg');
|
||||
assert.ok(isSvg(buffer));
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
@ -58,15 +60,7 @@ describe('The CLI', function () {
|
|||
var child = cproc.spawn('node',
|
||||
['test/cli-test.js', 'cactus', 'grown', '.png']);
|
||||
child.stdout.once('data', function(chunk) {
|
||||
// Check the PNG magic number.
|
||||
assert.equal(chunk[0], 0x89);
|
||||
assert.equal(chunk[1], 0x50);
|
||||
assert.equal(chunk[2], 0x4e);
|
||||
assert.equal(chunk[3], 0x47);
|
||||
assert.equal(chunk[4], 0x0d);
|
||||
assert.equal(chunk[5], 0x0a);
|
||||
assert.equal(chunk[6], 0x1a);
|
||||
assert.equal(chunk[7], 0x0a);
|
||||
assert.ok(isPng(chunk));
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
@ -90,7 +84,7 @@ describe('The server', function () {
|
|||
var buffer = '';
|
||||
res.on('data', function(chunk) { buffer += ''+chunk; });
|
||||
res.on('end', function() {
|
||||
assert(buffer.startsWith('<svg'), '<svg');
|
||||
assert.ok(isSvg(buffer));
|
||||
assert(buffer.includes('fruit'), 'fruit');
|
||||
assert(buffer.includes('apple'), 'apple');
|
||||
done();
|
||||
|
@ -102,15 +96,7 @@ describe('The server', function () {
|
|||
http.get(url + ':fruit-apple-green.png',
|
||||
function(res) {
|
||||
res.once('data', function(chunk) {
|
||||
// Check the PNG magic number.
|
||||
assert.equal(chunk[0], 0x89);
|
||||
assert.equal(chunk[1], 0x50);
|
||||
assert.equal(chunk[2], 0x4e);
|
||||
assert.equal(chunk[3], 0x47);
|
||||
assert.equal(chunk[4], 0x0d);
|
||||
assert.equal(chunk[5], 0x0a);
|
||||
assert.equal(chunk[6], 0x1a);
|
||||
assert.equal(chunk[7], 0x0a);
|
||||
assert.ok(isPng(chunk));
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user