UNPKG

yadop

Version:
78 lines 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fs = require("fs-extra"); var glob = require("glob"); var sinon = require("sinon"); var espree = require("espree"); var doctrine = require("doctrine"); var processor_1 = require("./processor"); (function () { describe('ngdoc processor', function () { var globSyncFn; var fsReadFileSyncFn; var espreeParseFn; var doctrineParseFn; var configuration; var processor; var result; var code = 'code'; beforeEach(function () { globSyncFn = sinon.stub(glob, 'sync').callsFake(function () { return [ 'one', 'two', 'three' ]; }); fsReadFileSyncFn = sinon.stub(fs, 'readFileSync').callsFake(function (file) { return file + '-content'; }); espreeParseFn = sinon.stub(espree, 'parse'); espreeParseFn.onCall(0).returns({ comments: [{ value: 'one' }] }); espreeParseFn.onCall(1).returns({ comments: [{ value: 'two' }, { value: 'another two' }] }); espreeParseFn.onCall(2).returns({ comments: [{ value: 'three' }] }); doctrineParseFn = sinon.stub(doctrine, 'parse'); doctrineParseFn.onCall(0).returns({ description: 'one-doctrine', tags: [{ title: 'param', 'description': 'some param' }] }); doctrineParseFn.onCall(1).returns({ description: 'two-doctrine', tags: [{ title: 'param', 'description': 'some param' }] }); doctrineParseFn.onCall(2).returns({ description: 'another two-doctrine', tags: [{ title: 'ngdoc', 'description': 'some param' }] }); doctrineParseFn.onCall(3).returns({ description: 'three-doctrine', tags: [{ title: 'ngdoc', 'description': 'some param' }] }); }); describe('process', function () { beforeEach(function () { configuration = {}; processor = new processor_1.default(configuration); result = processor.process(); }); it('returns the only the ngdoc doctrine.Annotations', function () { expect(result.length).toBe(2); expect(result[0]).toEqual({ description: 'another two-doctrine', tags: [{ title: 'ngdoc', 'description': 'some param' }] }); expect(result[1]).toEqual({ description: 'three-doctrine', tags: [{ title: 'ngdoc', 'description': 'some param' }] }); }); afterEach(function () { globSyncFn.reset(); fsReadFileSyncFn.reset(); espreeParseFn.reset(); doctrineParseFn.reset(); }); }); afterEach(function () { globSyncFn.restore(); fsReadFileSyncFn.restore(); espreeParseFn.restore(); doctrineParseFn.restore(); }); }); })(); //# sourceMappingURL=processor.spec.js.map