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