UNPKG

pbxproj

Version:

parse & stringify xcode pbxproj format

52 lines (38 loc) 1.37 kB
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)); }); });