dotnet-solution
Version:
dotnet solution file model
95 lines (71 loc) • 2.35 kB
JavaScript
'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'));
});