48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								var testPackage = require('../../helpers/test-package');
							 | 
						||
| 
								 | 
							
								var Dgeni = require('dgeni');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('extractDecoratedClasses processor', function() {
							 | 
						||
| 
								 | 
							
								  var dgeni, injector, processor;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  beforeEach(function() {
							 | 
						||
| 
								 | 
							
								    dgeni = new Dgeni([testPackage('angular.io-package')]);
							 | 
						||
| 
								 | 
							
								    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'}
							 | 
						||
| 
								 | 
							
								    }));
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |