52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								const testPackage = require('../../helpers/test-package');
							 | 
						||
| 
								 | 
							
								const processorFactory = require('./addGlobalApiData');
							 | 
						||
| 
								 | 
							
								const Dgeni = require('dgeni');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('addGlobalApiData processor', () => {
							 | 
						||
| 
								 | 
							
								  it('should be available on the injector', () => {
							 | 
						||
| 
								 | 
							
								    const dgeni = new Dgeni([testPackage('angular-api-package')]);
							 | 
						||
| 
								 | 
							
								    const injector = dgeni.configureInjector();
							 | 
						||
| 
								 | 
							
								    const processor = injector.get('addGlobalApiDataProcessor');
							 | 
						||
| 
								 | 
							
								    expect(processor.$process).toBeDefined();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should run before the correct processor', () => {
							 | 
						||
| 
								 | 
							
								    const processor = processorFactory();
							 | 
						||
| 
								 | 
							
								    expect(processor.$runBefore).toEqual(['computing-ids']);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should mark global APIs correctly', () => {
							 | 
						||
| 
								 | 
							
								    const processor = processorFactory();
							 | 
						||
| 
								 | 
							
								    const docs = [
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'noNamespace', globalApi: '' },
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'withNamespace', globalApi: 'ng' },
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'notGlobal' },
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								    processor.$process(docs);
							 | 
						||
| 
								 | 
							
								    expect(docs[0].global).toBe(true);
							 | 
						||
| 
								 | 
							
								    expect(docs[1].global).toBe(true);
							 | 
						||
| 
								 | 
							
								    expect(docs[2].global).toBeUndefined();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should prefix global APIs with the namespace, if one is defined', () => {
							 | 
						||
| 
								 | 
							
								    const processor = processorFactory();
							 | 
						||
| 
								 | 
							
								    const docs = [
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'noNamespace', globalApi: '' },
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'withNamespace', globalApi: 'ng' },
							 | 
						||
| 
								 | 
							
								      { docType: 'function', name: 'notGlobal' },
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								    processor.$process(docs);
							 | 
						||
| 
								 | 
							
								    expect(docs[0].name).toBe('noNamespace');
							 | 
						||
| 
								 | 
							
								    expect(docs[1].name).toBe('ng.withNamespace');
							 | 
						||
| 
								 | 
							
								    expect(docs[2].name).toBe('notGlobal');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    expect(docs[0].unprefixedName).toBeUndefined();
							 | 
						||
| 
								 | 
							
								    expect(docs[1].unprefixedName).toBe('withNamespace');
							 | 
						||
| 
								 | 
							
								    expect(docs[2].unprefixedName).toBeUndefined();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    expect(docs[0].globalNamespace).toBeUndefined();
							 | 
						||
| 
								 | 
							
								    expect(docs[1].globalNamespace).toBe('ng');
							 | 
						||
| 
								 | 
							
								    expect(docs[2].globalNamespace).toBeUndefined();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |