UNPKG

dotnet-solution

Version:
95 lines (71 loc) 2.35 kB
'use strict'; var _solution = require('./solution'); var _solution2 = _interopRequireDefault(_solution); var _solutionWriter = require('./solutionWriter'); var _solutionWriter2 = _interopRequireDefault(_solutionWriter); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var linesOf = function linesOf(name) { return _fs2.default.readFileSync('./test-data/' + name + '.sln').toString().split(/\r?\n/); }; var writer = void 0; var solution = void 0; beforeEach(function () { writer = new _solutionWriter2.default(function (line) { return lines.push(line); }); solution = new _solution2.default(); }); it('should be able to output a blank solution file', function () { var lines = writer.write(solution); expect(lines).toEqual(linesOf('blank')); }); it('should write a single project to the solution file', function () { solution.addProject({ id: '3F5F5B05-7B61-43BF-9217-7E2005FAEF68', name: 'ProjectUnderRoot', path: 'ProjectUnderRoot\\ProjectUnderRoot.csproj' }); var lines = writer.write(solution); expect(lines).toEqual(linesOf('oneProject')); }); it('should write a single folder to the solution file', function () { solution.addFolder({ id: '93E2EDB0-2AB9-4A5E-A8BD-658CAD43C2B7', name: 'Parent', path: 'Parent' }); var lines = writer.write(solution); expect(lines).toEqual(linesOf('oneFolder')); }); it('should add a project to a folder', function () { solution.addFolder({ id: '93E2EDB0-2AB9-4A5E-A8BD-658CAD43C2B7', name: 'Parent', path: 'Parent' }); solution.addProject({ id: '7EC623E8-DE59-4A2C-AD1F-333F2E54AECA', name: 'ProjectUnderParent', path: 'ProjectUnderParent\\ProjectUnderParent.csproj', parent: 'Parent' }); var lines = writer.write(solution); expect(lines).toEqual(linesOf('oneFolderChildProject')); }); it('should add folders to a folder', function () { solution.addFolder({ id: '93E2EDB0-2AB9-4A5E-A8BD-658CAD43C2B7', name: 'Parent', path: 'Parent' }); solution.addFolder({ id: 'E2939C1D-DE3E-4455-88D6-CBA711FE1FAD', name: 'ChildOne', path: 'ChildOne', parent: 'Parent' }); var lines = writer.write(solution); expect(lines).toEqual(linesOf('childFolder')); });