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