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