BREAKING CHANGE: Previously, `Directive` was the abstract base class of several directives. Now, `Directive` is the former `Decorator`, and `Component` inherits from it.
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import {MapWrapper} from 'angular2/src/facade/collection';
 | 
						|
import {DirectiveMetadata} from 'angular2/src/render/api';
 | 
						|
import {directiveMetadataFromMap, directiveMetadataToMap} from
 | 
						|
    'angular2/src/render/dom/convert';
 | 
						|
import {describe, expect, it} from 'angular2/test_lib';
 | 
						|
 | 
						|
export function main() {
 | 
						|
  describe('convert', () => {
 | 
						|
    it('directiveMetadataToMap', () => {
 | 
						|
      var someComponent = new DirectiveMetadata({
 | 
						|
        compileChildren: false,
 | 
						|
        hostListeners: MapWrapper.createFromPairs([['listenKey', 'listenVal']]),
 | 
						|
        hostProperties:
 | 
						|
            MapWrapper.createFromPairs([['hostPropKey', 'hostPropVal']]),
 | 
						|
        id: 'someComponent',
 | 
						|
        properties: MapWrapper.createFromPairs([['propKey', 'propVal']]),
 | 
						|
        readAttributes: ['read1', 'read2'],
 | 
						|
        selector: 'some-comp',
 | 
						|
        type: DirectiveMetadata.COMPONENT_TYPE
 | 
						|
      });
 | 
						|
      var map = directiveMetadataToMap(someComponent);
 | 
						|
      expect(MapWrapper.get(map, 'compileChildren')).toEqual(false);
 | 
						|
      expect(MapWrapper.get(map, 'hostListeners')).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['listenKey', 'listenVal']]));
 | 
						|
      expect(MapWrapper.get(map, 'hostProperties')).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['hostPropKey', 'hostPropVal']]));
 | 
						|
      expect(MapWrapper.get(map, 'id')).toEqual('someComponent');
 | 
						|
      expect(MapWrapper.get(map, 'properties')).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['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);
 | 
						|
    });
 | 
						|
 | 
						|
    it('mapToDirectiveMetadata', () => {
 | 
						|
      var map = MapWrapper.createFromPairs([
 | 
						|
        ['compileChildren', false],
 | 
						|
        ['hostListeners', MapWrapper.createFromPairs([['testKey', 'testVal']])],
 | 
						|
        ['hostProperties',
 | 
						|
            MapWrapper.createFromPairs([['hostPropKey', 'hostPropVal']])],
 | 
						|
        ['id', 'testId'],
 | 
						|
        ['properties', MapWrapper.createFromPairs([['propKey', 'propVal']])],
 | 
						|
        ['readAttributes', ['readTest1', 'readTest2']],
 | 
						|
        ['selector', 'testSelector'],
 | 
						|
        ['type', DirectiveMetadata.DIRECTIVE_TYPE]
 | 
						|
      ]);
 | 
						|
      var meta = directiveMetadataFromMap(map);
 | 
						|
      expect(meta.compileChildren).toEqual(false);
 | 
						|
      expect(meta.hostListeners).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['testKey', 'testVal']]));
 | 
						|
      expect(meta.hostProperties).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['hostPropKey', 'hostPropVal']]));
 | 
						|
      expect(meta.id).toEqual('testId');
 | 
						|
      expect(meta.properties).toEqual(
 | 
						|
          MapWrapper.createFromPairs([['propKey', 'propVal']]));
 | 
						|
      expect(meta.readAttributes).toEqual(['readTest1', 'readTest2']);
 | 
						|
      expect(meta.selector).toEqual('testSelector');
 | 
						|
      expect(meta.type).toEqual(DirectiveMetadata.DIRECTIVE_TYPE);
 | 
						|
    });
 | 
						|
  });
 | 
						|
}
 |