97 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			4.7 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,
 | 
						|
        events: ['onFoo', 'onBar'],
 | 
						|
        changeDetection: 'CHECK_ONCE'
 | 
						|
      });
 | 
						|
      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');
 | 
						|
      expect(MapWrapper.get(map, 'events')).toEqual(['onFoo', 'onBar']);
 | 
						|
      expect(MapWrapper.get(map, 'changeDetection')).toEqual('CHECK_ONCE');
 | 
						|
    });
 | 
						|
 | 
						|
    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],
 | 
						|
        ['events', ['onFoo', 'onBar']],
 | 
						|
        ['changeDetection', 'CHECK_ONCE']
 | 
						|
      ]);
 | 
						|
      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);
 | 
						|
      expect(meta.events).toEqual(['onFoo', 'onBar']);
 | 
						|
      expect(meta.changeDetection).toEqual('CHECK_ONCE');
 | 
						|
    });
 | 
						|
  });
 | 
						|
}
 |