fixes #2268 BREAKING CHANGE: Before @Directive({ hostListeners: {'event': 'statement'}, hostProperties: {'expression': 'hostProp'}, hostAttributes: {'attr': 'value'}, hostActions: {'action': 'statement'} }) After @Directive({ host: { '(event)': 'statement', '[hostProp]': 'expression' // k & v swapped 'attr': 'value', '@action': 'statement' } })
		
			
				
	
	
		
			85 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {MapWrapper} from 'angular2/src/facade/collection';
 | |
| import {DirectiveMetadata} from 'angular2/src/render/api';
 | |
| import {directiveMetadataFromMap, directiveMetadataToMap} from 'angular2/src/render/dom/convert';
 | |
| import {ddescribe, describe, expect, it} from 'angular2/test_lib';
 | |
| 
 | |
| export function main() {
 | |
|   describe('convert', () => {
 | |
|     it('directiveMetadataToMap', () => {
 | |
|       var someComponent = new DirectiveMetadata({
 | |
|         compileChildren: false,
 | |
|         hostListeners: MapWrapper.createFromPairs([['LKey', 'LVal']]),
 | |
|         hostProperties: MapWrapper.createFromPairs([['PKey', 'PVal']]),
 | |
|         hostActions: MapWrapper.createFromPairs([['AcKey', 'AcVal']]),
 | |
|         hostAttributes: MapWrapper.createFromPairs([['AtKey', 'AtVal']]),
 | |
|         id: 'someComponent',
 | |
|         properties: ['propKey: propVal'],
 | |
|         readAttributes: ['read1', 'read2'],
 | |
|         selector: 'some-comp',
 | |
|         type: DirectiveMetadata.COMPONENT_TYPE,
 | |
|         exportAs: 'aaa',
 | |
|         callOnDestroy: true,
 | |
|         callOnChange: true,
 | |
|         callOnCheck: true,
 | |
|         callOnInit: true,
 | |
|         callOnAllChangesDone: true
 | |
|       });
 | |
|       var map = directiveMetadataToMap(someComponent);
 | |
|       expect(MapWrapper.get(map, 'compileChildren')).toEqual(false);
 | |
|       expect(MapWrapper.get(map, 'hostListeners')).toEqual(MapWrapper.createFromPairs([['LKey', 'LVal']]));
 | |
|       expect(MapWrapper.get(map, 'hostProperties')).toEqual(MapWrapper.createFromPairs([['PKey', 'PVal']]));
 | |
|       expect(MapWrapper.get(map, 'hostActions')).toEqual(MapWrapper.createFromPairs([['AcKey', 'AcVal']]));
 | |
|       expect(MapWrapper.get(map, 'hostAttributes')).toEqual(MapWrapper.createFromPairs([['AtKey', 'AtVal']]));
 | |
|       expect(MapWrapper.get(map, 'id')).toEqual('someComponent');
 | |
|       expect(MapWrapper.get(map, 'properties')).toEqual(['propKey: propVal']);
 | |
|       expect(MapWrapper.get(map, 'readAttributes')).toEqual(['read1', 'read2']);
 | |
|       expect(MapWrapper.get(map, 'selector')).toEqual('some-comp');
 | |
|       expect(MapWrapper.get(map, 'type')).toEqual(DirectiveMetadata.COMPONENT_TYPE);
 | |
|       expect(MapWrapper.get(map, 'callOnDestroy')).toEqual(true);
 | |
|       expect(MapWrapper.get(map, 'callOnCheck')).toEqual(true);
 | |
|       expect(MapWrapper.get(map, 'callOnChange')).toEqual(true);
 | |
|       expect(MapWrapper.get(map, 'callOnInit')).toEqual(true);
 | |
|       expect(MapWrapper.get(map, 'callOnAllChangesDone')).toEqual(true);
 | |
|       expect(MapWrapper.get(map, 'exportAs')).toEqual('aaa');
 | |
|     });
 | |
| 
 | |
|     it('mapToDirectiveMetadata', () => {
 | |
|       var map = MapWrapper.createFromPairs([
 | |
|         ['compileChildren', false],
 | |
|         ['hostProperties', MapWrapper.createFromPairs([['PKey', 'testVal']])],
 | |
|         ['hostListeners', MapWrapper.createFromPairs([['LKey', 'testVal']])],
 | |
|         ['hostActions', MapWrapper.createFromPairs([['AcKey', 'testVal']])],
 | |
|         ['hostAttributes', MapWrapper.createFromPairs([['AtKey', 'testVal']])],
 | |
|         ['id', 'testId'],
 | |
|         ['properties', ['propKey: propVal']],
 | |
|         ['readAttributes', ['readTest1', 'readTest2']],
 | |
|         ['selector', 'testSelector'],
 | |
|         ['type', DirectiveMetadata.DIRECTIVE_TYPE],
 | |
|         ['exportAs', 'aaa'],
 | |
|         ['callOnDestroy', true],
 | |
|         ['callOnCheck', true],
 | |
|         ['callOnInit', true],
 | |
|         ['callOnChange', true],
 | |
|         ['callOnAllChangesDone', true]
 | |
|       ]);
 | |
|       var meta = directiveMetadataFromMap(map);
 | |
|       expect(meta.compileChildren).toEqual(false);
 | |
|       expect(meta.hostProperties).toEqual(MapWrapper.createFromPairs([['PKey', 'testVal']]));
 | |
|       expect(meta.hostListeners).toEqual(MapWrapper.createFromPairs([['LKey', 'testVal']]));
 | |
|       expect(meta.hostActions).toEqual(MapWrapper.createFromPairs([['AcKey', 'testVal']]));
 | |
|       expect(meta.hostAttributes).toEqual(MapWrapper.createFromPairs([['AtKey', 'testVal']]));
 | |
|       expect(meta.id).toEqual('testId');
 | |
|       expect(meta.properties).toEqual(['propKey: propVal']);
 | |
|       expect(meta.readAttributes).toEqual(['readTest1', 'readTest2']);
 | |
|       expect(meta.selector).toEqual('testSelector');
 | |
|       expect(meta.type).toEqual(DirectiveMetadata.DIRECTIVE_TYPE);
 | |
|       expect(meta.exportAs).toEqual('aaa');
 | |
|       expect(meta.callOnDestroy).toEqual(true);
 | |
|       expect(meta.callOnCheck).toEqual(true);
 | |
|       expect(meta.callOnInit).toEqual(true);
 | |
|       expect(meta.callOnChange).toEqual(true);
 | |
|       expect(meta.callOnAllChangesDone).toEqual(true);
 | |
|     });
 | |
|   });
 | |
| }
 |