55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
var mockPackage = require('../mocks/mockPackage');
|
|
var Dgeni = require('dgeni');
|
|
|
|
describe('atScript file reader', function() {
|
|
|
|
var dgeni, injector, reader;
|
|
|
|
var fileContent =
|
|
'import {CONST} from "facade/lang";\n' +
|
|
'\n' +
|
|
'/**\n' +
|
|
'* A parameter annotation that creates a synchronous eager dependency.\n' +
|
|
'*\n' +
|
|
'* class AComponent {\n' +
|
|
'* constructor(@Inject("aServiceToken") aService) {}\n' +
|
|
'* }\n' +
|
|
'*\n' +
|
|
'*/\n' +
|
|
'export class Inject {\n' +
|
|
'token;\n' +
|
|
'@CONST()\n' +
|
|
'constructor(token) {\n' +
|
|
'this.token = token;\n' +
|
|
'}\n' +
|
|
'}';
|
|
|
|
|
|
beforeEach(function() {
|
|
dgeni = new Dgeni([mockPackage()]);
|
|
injector = dgeni.configureInjector();
|
|
reader = injector.get('atScriptFileReader');
|
|
});
|
|
|
|
|
|
it('should provide a default pattern', function() {
|
|
expect(reader.defaultPattern).toEqual(/\.js$/);
|
|
});
|
|
|
|
|
|
it('should parse the file using the atParser and return a single doc', function() {
|
|
|
|
var atParser = injector.get('atParser');
|
|
spyOn(atParser, 'parseModule').and.callThrough();
|
|
|
|
var docs = reader.getDocs({
|
|
content: fileContent,
|
|
relativePath: 'di/src/annotations.js'
|
|
});
|
|
|
|
expect(atParser.parseModule).toHaveBeenCalled();
|
|
expect(docs.length).toEqual(1);
|
|
expect(docs[0].docType).toEqual('module');
|
|
});
|
|
|
|
}); |