Addresses https://github.com/angular/angular/pull/18707#issuecomment-330396771 PR Close #19265
		
			
				
	
	
		
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var testPackage = require('../../helpers/test-package');
 | |
| var Dgeni = require('dgeni');
 | |
| 
 | |
| describe('getExampleRegion', () => {
 | |
|   var dgeni, injector, getExampleRegion, collectExamples, exampleMap;
 | |
| 
 | |
|   beforeEach(function() {
 | |
|     dgeni = new Dgeni([testPackage('examples-package', true)]);
 | |
|     injector = dgeni.configureInjector();
 | |
|     getExampleRegion = injector.get('getExampleRegion');
 | |
|     collectExamples = injector.get('collectExamples');
 | |
|     exampleMap = injector.get('exampleMap');
 | |
|     collectExamples.exampleFolders = ['examples'];
 | |
|     collectExamples.registerIgnoredExamples(['filtered/path'], 'some/gitignore');
 | |
|     exampleMap['examples'] = {
 | |
|       'test/url': { regions: {
 | |
|         '': { renderedContent: 'whole file' },
 | |
|         'region-1': { renderedContent: 'region 1 contents' }
 | |
|       } }
 | |
|     };
 | |
|   });
 | |
| 
 | |
|   it('should contain the whole contents from the example file if no region is specified', () => {
 | |
|     expect(getExampleRegion({}, 'test/url')).toEqual('whole file');
 | |
|   });
 | |
| 
 | |
|   it('should contain the region contents from the example file if a region is specified', () => {
 | |
|     expect(getExampleRegion({}, 'test/url', 'region-1')).toEqual('region 1 contents');
 | |
|   });
 | |
| 
 | |
|   it('should throw an error if an example doesn\'t exist', () => {
 | |
|     expect(() => {
 | |
|       getExampleRegion({}, 'missing/file', 'region-1');
 | |
|     }).toThrowError('Missing example file... relativePath: "missing/file". - doc\nExample files can be found in the following relative paths: "examples"');
 | |
|     expect(() => {
 | |
|       getExampleRegion({}, 'test/url', 'missing-region');
 | |
|     }).toThrowError('Missing example region... relativePath: "test/url", region: "missing-region". - doc\nRegions available are: "", "region-1"');
 | |
|   });
 | |
| 
 | |
|   it('should throw an error if an example has been filtered out', () => {
 | |
|     expect(() => {
 | |
|       getExampleRegion({}, 'filtered/path', 'any-region');
 | |
|     }).toThrowError('Ignored example file... relativePath: "filtered/path" - doc\n' +
 | |
|                     'This example file exists but has been ignored by a rule, in "some/gitignore".');
 | |
|   });
 | |
| });
 |