pbxproj
Version:
parse & stringify xcode pbxproj format
52 lines (38 loc) • 1.37 kB
JavaScript
var assert = require('assert');
var fs = require('fs');
var parser = require('../../lib/parser');
var fixturesNames = [
'obj-in-obj',
'number-in-obj',
'empty-array-in-obj',
'filled-array-in-obj'
];
var fixtures = {};
fixturesNames.forEach(function (fixturesName) {
var basePath = __dirname + '/../fixtures/' + fixturesName;
fixtures[fixturesName] = {
obj: JSON.parse(fs.readFileSync(basePath + '.json', 'utf8')),
pbxproj: fs.readFileSync(basePath + '.pbxproj', 'utf8'),
}
});
describe('parser', function () {
it('should parse an empty object', function () {
assert.deepEqual({}, parser.parse('// !$*UTF8*$!\n{\n};\n'));
});
it('should parse object into object', function () {
var fixture = fixtures['obj-in-obj'];
assert.deepEqual(fixture.obj, parser.parse(fixture.pbxproj));
});
it('should parse number into object', function () {
var fixture = fixtures['number-in-obj'];
assert.deepEqual(fixture.obj, parser.parse(fixture.pbxproj));
});
it('should parse empty array into object', function () {
var fixture = fixtures['empty-array-in-obj'];
assert.deepEqual(fixture.obj, parser.parse(fixture.pbxproj));
});
it('should parse filled array into object', function () {
var fixture = fixtures['filled-array-in-obj'];
assert.deepEqual(fixture.obj, parser.parse(fixture.pbxproj));
});
});