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'
 | |
|       }
 | |
|     }));
 | |
|   });
 | |
| }); |