58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
|
var mockPackage = require('../mocks/mockPackage');
|
||
|
var Dgeni = require('dgeni');
|
||
|
|
||
|
describe('extractDecoratedClasses processor', function() {
|
||
|
var dgeni, injector, processor;
|
||
|
|
||
|
beforeEach(function() {
|
||
|
dgeni = new Dgeni([mockPackage()]);
|
||
|
injector = dgeni.configureInjector();
|
||
|
processor = injector.get('extractDecoratedClassesProcessor');
|
||
|
});
|
||
|
|
||
|
it('should extract specified decorator arguments', function() {
|
||
|
var doc1 = {
|
||
|
id: '@angular/common/ngFor',
|
||
|
name: 'ngFor',
|
||
|
docType: 'class',
|
||
|
decorators: [
|
||
|
{
|
||
|
name: 'Directive',
|
||
|
arguments: ['{selector: \'[ng-for][ng-for-of]\', properties: [\'ngForOf\']}'],
|
||
|
argumentInfo: [
|
||
|
{ selector: '[ng-for][ng-for-of]', properties: ['ngForOf'] }
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
var doc2 = {
|
||
|
id: '@angular/core/DecimalPipe',
|
||
|
name: 'DecimalPipe',
|
||
|
docType: 'class',
|
||
|
decorators: [
|
||
|
{ name: 'Pipe', arguments: ['{name: \'number\'}'], argumentInfo: [{ name: 'number' }]}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
processor.$process([doc1, doc2]);
|
||
|
|
||
|
expect(doc1).toEqual(jasmine.objectContaining({
|
||
|
id: '@angular/common/ngFor',
|
||
|
name: 'ngFor',
|
||
|
docType: 'directive',
|
||
|
directiveOptions: {
|
||
|
selector: '[ng-for][ng-for-of]',
|
||
|
properties: ['ngForOf']
|
||
|
}
|
||
|
}));
|
||
|
|
||
|
expect(doc2).toEqual(jasmine.objectContaining({
|
||
|
id: '@angular/core/DecimalPipe',
|
||
|
name: 'DecimalPipe',
|
||
|
docType: 'pipe',
|
||
|
pipeOptions: {
|
||
|
name: 'number'
|
||
|
}
|
||
|
}));
|
||
|
});
|
||
|
});
|