pbxproj
Version:
parse & stringify xcode pbxproj format
58 lines (43 loc) • 1.61 kB
JavaScript
var assert = require('assert');
var fs = require('fs');
var PBXProjExporter = require('../../lib/exporter');
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('exporter', function () {
it('should export an empty object', function () {
var exporter = new PBXProjExporter();
assert.equal('// !$*UTF8*$!\n{\n};\n', exporter.stringify({}));
});
it('should export object into object', function () {
var exporter = new PBXProjExporter();
var fixture = fixtures['obj-in-obj'];
assert.equal(fixture.pbxproj, exporter.stringify(fixture.obj));
});
it('should export number into object', function () {
var exporter = new PBXProjExporter();
var fixture = fixtures['number-in-obj'];
assert.equal(fixture.pbxproj, exporter.stringify(fixture.obj));
});
it('should export empty array into object', function () {
var exporter = new PBXProjExporter();
var fixture = fixtures['empty-array-in-obj'];
assert.equal(fixture.pbxproj, exporter.stringify(fixture.obj));
});
it('should export filled array into object', function () {
var exporter = new PBXProjExporter();
var fixture = fixtures['filled-array-in-obj'];
assert.equal(fixture.pbxproj, exporter.stringify(fixture.obj));
});
});