mirror of
https://github.com/mapbox/node-fontnik.git
synced 2025-12-08 20:16:18 +00:00
61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
/* jshint node: true */
|
|
|
|
var fontnik = require('..');
|
|
var test = require('tap').test;
|
|
var fs = require('fs');
|
|
var path = require('path');
|
|
var Protobuf = require('pbf');
|
|
var Font = require('./format/glyphs').Font.read;
|
|
var UPDATE = process.env.UPDATE;
|
|
|
|
var opensans = fs.readFileSync(path.resolve(__dirname + '/../fonts/open-sans/OpenSans-Regular.ttf'));
|
|
|
|
function noBuffer(key, val) {
|
|
return key !== '_buffer' && key !== 'bitmap' ? val : undefined;
|
|
}
|
|
|
|
test('range', function(t) {
|
|
var start = 0;
|
|
var end = 255;
|
|
var key = [start, end].join('-');
|
|
|
|
fontnik.range({font: opensans, start: start, end: end}, function(err, res) {
|
|
t.error(err);
|
|
t.ok(res);
|
|
|
|
var pbf = new Protobuf(res);
|
|
var json = JSON.parse(JSON.stringify(new Font(pbf), noBuffer));
|
|
|
|
var expected = [__dirname, 'expected', 'range', key].join('/');
|
|
|
|
var pbfPath = [expected, '.pbf'].join('');
|
|
var jsonPath = [expected, '.json'].join('');
|
|
|
|
if (UPDATE) {
|
|
fs.writeFileSync(pbfPath, pbf.buf);
|
|
fs.writeFileSync(jsonPath, JSON.stringify(json, null, 2));
|
|
}
|
|
|
|
t.deepEqual(pbf.buf, new Protobuf(fs.readFileSync(pbfPath)).buf);
|
|
t.deepEqual(json, require(jsonPath));
|
|
|
|
t.end();
|
|
});
|
|
});
|
|
|
|
test('shape', function(t) {
|
|
var pbf = fs.readFileSync([
|
|
__dirname,
|
|
'expected',
|
|
'range',
|
|
'0-255.pbf'
|
|
].join('/'));
|
|
|
|
fontnik.shape(opensans, pbf, function(err) {
|
|
t.error(err);
|
|
t.end();
|
|
});
|
|
});
|