diff --git a/modules/angular2/src/core/change_detection/codegen_name_util.ts b/modules/angular2/src/core/change_detection/codegen_name_util.ts index 312e1b6bf5..6660c2e57e 100644 --- a/modules/angular2/src/core/change_detection/codegen_name_util.ts +++ b/modules/angular2/src/core/change_detection/codegen_name_util.ts @@ -9,7 +9,6 @@ import {EventBinding} from './event_binding'; // The names of these fields must be kept in sync with abstract_change_detector.ts or change // detection will fail. const _ALREADY_CHECKED_ACCESSOR = "alreadyChecked"; -const _CONTEXT_ACCESSOR = "context"; const _PROP_BINDING_INDEX = "propertyBindingIndex"; const _DIRECTIVES_ACCESSOR = "directiveIndices"; const _DISPATCHER_ACCESSOR = "dispatcher"; @@ -17,6 +16,7 @@ const _LOCALS_ACCESSOR = "locals"; const _MODE_ACCESSOR = "mode"; const _PIPES_ACCESSOR = "pipes"; const _PROTOS_ACCESSOR = "protos"; +export const CONTEXT_ACCESSOR = "context"; // `context` is always first. export const CONTEXT_INDEX = 0; @@ -49,14 +49,14 @@ export class CodegenNameUtil { constructor(private _records: ProtoRecord[], private _eventBindings: EventBinding[], private _directiveRecords: any[], private _utilName: string) { this._sanitizedNames = ListWrapper.createFixedSize(this._records.length + 1); - this._sanitizedNames[CONTEXT_INDEX] = _CONTEXT_ACCESSOR; + this._sanitizedNames[CONTEXT_INDEX] = CONTEXT_ACCESSOR; for (var i = 0, iLen = this._records.length; i < iLen; ++i) { this._sanitizedNames[i + 1] = sanitizeName(`${this._records[i].name}${i}`); } for (var ebIndex = 0; ebIndex < _eventBindings.length; ++ebIndex) { var eb = _eventBindings[ebIndex]; - var names = [_CONTEXT_ACCESSOR]; + var names = [CONTEXT_ACCESSOR]; for (var i = 0, iLen = eb.records.length; i < iLen; ++i) { names.push(sanitizeName(`${eb.records[i].name}${i}_${ebIndex}`)); } diff --git a/modules_dart/transform/test/transform/common/ng_meta_helper.dart b/modules_dart/transform/test/transform/common/ng_meta_helper.dart index e724aa89e1..0debc4c34a 100644 --- a/modules_dart/transform/test/transform/common/ng_meta_helper.dart +++ b/modules_dart/transform/test/transform/common/ng_meta_helper.dart @@ -7,7 +7,10 @@ import 'package:angular2/src/core/metadata/view.dart' show ViewEncapsulation; export 'package:angular2/src/core/compiler/directive_metadata.dart'; export 'package:angular2/src/core/change_detection/change_detection.dart'; export 'package:angular2/src/core/metadata/view.dart' show ViewEncapsulation; +export 'package:angular2/src/transform/common/model/annotation_model.pb.dart'; +export 'package:angular2/src/transform/common/model/import_export_model.pb.dart'; export 'package:angular2/src/transform/common/model/ng_deps_model.pb.dart'; +export 'package:angular2/src/transform/common/model/reflection_info_model.pb.dart'; export 'package:angular2/src/transform/common/ng_meta.dart'; CompileDirectiveMetadata createComponentMetadataForTest( @@ -26,11 +29,11 @@ CompileDirectiveMetadata createComponentMetadataForTest( CompileDirectiveMetadata createDirectiveMetadataForTest( {String name: 'TestMetadata', String moduleUrl: 'asset:angular2/test/test.dart', - String selector: '[test]', + String selector: 'test', CompileTemplateMetadata template: null}) { return CompileDirectiveMetadata.create( type: new CompileTypeMetadata(name: name, moduleUrl: moduleUrl), - isComponent: false, + isComponent: template != null, dynamicLoadable: true, selector: selector, exportAs: null, @@ -41,3 +44,24 @@ CompileDirectiveMetadata createDirectiveMetadataForTest( lifecycleHooks: [], template: template); } + +CompileDirectiveMetadata createFoo([String moduleBase = 'asset:a']) => + createComponentMetadataForTest( + name: 'FooComponent', + moduleUrl: '$moduleBase/export_cycle_files/foo.dart', + selector: 'foo', + template: 'Foo'); + +CompileDirectiveMetadata createBar([String moduleBase = 'asset:a']) => + createComponentMetadataForTest( + name: 'BarComponent', + moduleUrl: '$moduleBase/export_cycle_files/bar.dart', + selector: 'bar', + template: 'Bar'); + +CompileDirectiveMetadata createBaz([String moduleBase = 'asset:a']) => + createComponentMetadataForTest( + name: 'BazComponent', + moduleUrl: '$moduleBase/export_cycle_files/baz.dart', + selector: 'baz', + template: 'Baz'); diff --git a/modules_dart/transform/test/transform/directive_metadata_linker/all_tests.dart b/modules_dart/transform/test/transform/directive_metadata_linker/all_tests.dart index 2f46857683..2a5d2addba 100644 --- a/modules_dart/transform/test/transform/directive_metadata_linker/all_tests.dart +++ b/modules_dart/transform/test/transform/directive_metadata_linker/all_tests.dart @@ -37,32 +37,17 @@ void allTests() { reader = new TestAssetReader(); // Establish some test NgMeta objects with one Component each. - var fooName = 'FooComponent'; - var fooComponentMeta = createComponentMetadataForTest( - name: fooName, - moduleUrl: '$moduleBase/export_cycle_files/foo.dart', - selector: '[foo]', - template: 'Foo'); + var fooComponentMeta = createFoo(moduleBase); fooNgMeta = new NgMeta(ngDeps: new NgDepsModel()); - fooNgMeta.types[fooName] = fooComponentMeta; + fooNgMeta.types[fooComponentMeta.type.name] = fooComponentMeta; - var barName = 'BarComponent'; - var barComponentMeta = createComponentMetadataForTest( - name: barName, - moduleUrl: '$moduleBase/export_cycle_files/bar.dart', - selector: '[bar]', - template: 'Bar'); + var barComponentMeta = createBar(moduleBase); barNgMeta = new NgMeta(ngDeps: new NgDepsModel()); - barNgMeta.types[barName] = barComponentMeta; + barNgMeta.types[barComponentMeta.type.name] = barComponentMeta; - var bazName = 'BazComponent'; - var bazComponentMeta = createComponentMetadataForTest( - name: bazName, - moduleUrl: '$moduleBase/export_cycle_files/baz.dart', - selector: '[baz]', - template: 'Baz'); + var bazComponentMeta = createBaz(moduleBase); bazNgMeta = new NgMeta(ngDeps: new NgDepsModel()); - barNgMeta.types[bazName] = bazComponentMeta; + barNgMeta.types[bazComponentMeta.type.name] = bazComponentMeta; fooAssetId = new AssetId('a', 'lib/foo.ng_meta.json'); barAssetId = new AssetId('a', 'lib/bar.ng_meta.json'); @@ -79,8 +64,8 @@ void allTests() { expect(extracted.types).toContain('FooComponent'); expect(extracted.types).toContain('BarComponent'); - expect(extracted.types['FooComponent'].selector).toEqual('[foo]'); - expect(extracted.types['BarComponent'].selector).toEqual('[bar]'); + expect(extracted.types['FooComponent'].selector).toEqual('foo'); + expect(extracted.types['BarComponent'].selector).toEqual('bar'); }); it('should include `DirectiveMetadata` recursively from exported files.', @@ -94,9 +79,9 @@ void allTests() { expect(extracted.types).toContain('BarComponent'); expect(extracted.types).toContain('BazComponent'); - expect(extracted.types['FooComponent'].selector).toEqual('[foo]'); - expect(extracted.types['BarComponent'].selector).toEqual('[bar]'); - expect(extracted.types['BazComponent'].selector).toEqual('[baz]'); + expect(extracted.types['FooComponent'].selector).toEqual('foo'); + expect(extracted.types['BarComponent'].selector).toEqual('bar'); + expect(extracted.types['BazComponent'].selector).toEqual('baz'); }); it('should handle `DirectiveMetadata` export cycles gracefully.', () async { @@ -125,8 +110,8 @@ void allTests() { expect(extracted.types).toContain('FooComponent'); expect(extracted.types).toContain('BarComponent'); - expect(extracted.types['FooComponent'].selector).toEqual('[foo]'); - expect(extracted.types['BarComponent'].selector).toEqual('[bar]'); + expect(extracted.types['FooComponent'].selector).toEqual('foo'); + expect(extracted.types['BarComponent'].selector).toEqual('bar'); }); }); diff --git a/modules_dart/transform/test/transform/directive_processor/all_tests.dart b/modules_dart/transform/test/transform/directive_processor/all_tests.dart index 19270dabee..87f33c1156 100644 --- a/modules_dart/transform/test/transform/directive_processor/all_tests.dart +++ b/modules_dart/transform/test/transform/directive_processor/all_tests.dart @@ -419,6 +419,27 @@ void allTests() { expect(ngMeta.types['HelloCmp'].template.templateUrl) .toEqual('asset:other_package/lib/template.html'); }); + + it('should handle prefixed annotations', () async { + var model = + (await _testCreateModel('prefixed_annotations_files/soup.dart')) + .ngDeps; + + expect(model.reflectables.isEmpty).toBeFalse(); + final annotations = model.reflectables.first.annotations; + final viewAnnotation = + annotations.firstWhere((m) => m.isView, orElse: () => null); + final componentAnnotation = + annotations.firstWhere((m) => m.isComponent, orElse: () => null); + expect(viewAnnotation).toBeNotNull(); + expect(viewAnnotation.namedParameters.first.name).toEqual('template'); + expect(viewAnnotation.namedParameters.first.value).toContain('SoupView'); + expect(componentAnnotation).toBeNotNull(); + expect(componentAnnotation.namedParameters.first.name) + .toEqual('selector'); + expect(componentAnnotation.namedParameters.first.value) + .toContain('[soup]'); + }); }); } diff --git a/modules_dart/transform/test/transform/directive_processor/prefixed_annotations_files/soup.dart b/modules_dart/transform/test/transform/directive_processor/prefixed_annotations_files/soup.dart new file mode 100644 index 0000000000..0d9c9c32c8 --- /dev/null +++ b/modules_dart/transform/test/transform/directive_processor/prefixed_annotations_files/soup.dart @@ -0,0 +1,7 @@ +library dinner.soup; + +import 'package:angular2/src/core/metadata.dart' as ng; + +@ng.Component(selector: '[soup]') +@ng.View(template: 'SoupView') +class SoupComponent {} diff --git a/modules_dart/transform/test/transform/integration/all_tests.dart b/modules_dart/transform/test/transform/integration/all_tests.dart index 5463637e06..5a54b5743b 100644 --- a/modules_dart/transform/test/transform/integration/all_tests.dart +++ b/modules_dart/transform/test/transform/integration/all_tests.dart @@ -110,7 +110,7 @@ void allTests() { 'a|web/bar.ng_deps.dart': 'event_getter_files/expected/bar.ng_deps.dart' }), new IntegrationTestConfig( - 'should handle Directive depenedencies declared on a View.', + 'should handle Directive dependencies declared on a View.', inputs: { 'a|web/index.dart': 'directive_dep_files/index.dart', 'a|web/foo.dart': 'directive_dep_files/foo.dart', @@ -140,7 +140,30 @@ void allTests() { outputs: { 'a|web/foo.ng_deps.dart': 'empty_ng_deps_files/expected/foo.ng_deps.dart', 'a|web/bar.ng_deps.dart': 'empty_ng_deps_files/expected/bar.ng_deps.dart' - }) + }), + new IntegrationTestConfig( + 'should generate setters for annotated properties.', + inputs: { + 'a|web/bar.dart': 'queries_prop_annotation_files/bar.dart' + }, + outputs: { + 'a|web/bar.ng_deps.dart': + 'queries_prop_annotation_files/expected/bar.ng_deps.dart' + }), + new IntegrationTestConfig( + 'should generate setters for `queries` values in Directives.', + inputs: { + 'a|web/bar.dart': 'queries_class_annotation_files/bar.dart' + }, + outputs: { + 'a|web/bar.ng_deps.dart': + 'queries_class_annotation_files/expected/bar.ng_deps.dart' + }), + new IntegrationTestConfig( + 'should handle @override annotations in properties on Directives.', + inputs: {'a|web/bar.dart': 'override_annotation_files/bar.dart'}, + outputs: + {'a|web/bar.ng_deps.dart': 'override_annotation_files/expected/bar.ng_deps.dart'}) ]; var cache = {}; diff --git a/modules_dart/transform/test/transform/integration/deferred_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/deferred_files/expected/bar.ng_deps.dart index b207b8263a..9d0372cb11 100644 --- a/modules_dart/transform/test/transform/integration/deferred_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/deferred_files/expected/bar.ng_deps.dart @@ -1,11 +1,10 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/directive_chain_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/directive_chain_files/expected/bar.ng_deps.dart index 9d0708b9a7..9ecd12cdaf 100644 --- a/modules_dart/transform/test/transform/integration/directive_chain_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/directive_chain_files/expected/bar.ng_deps.dart @@ -1,13 +1,12 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; import 'baz.dart'; import 'baz.ng_deps.dart' as i1; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/directive_dep_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/directive_dep_files/expected/bar.ng_deps.dart index 44a4323d30..869332d645 100644 --- a/modules_dart/transform/test/transform/integration/directive_dep_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/directive_dep_files/expected/bar.ng_deps.dart @@ -1,13 +1,12 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; import 'foo.dart' as prefix; import 'foo.ng_deps.dart' as i1; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/empty_ng_deps_files/expected/foo.ng_deps.dart b/modules_dart/transform/test/transform/integration/empty_ng_deps_files/expected/foo.ng_deps.dart index b7ede185f6..812ca1d7e0 100644 --- a/modules_dart/transform/test/transform/integration/empty_ng_deps_files/expected/foo.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/empty_ng_deps_files/expected/foo.ng_deps.dart @@ -1,13 +1,12 @@ library bar.ng_deps.dart; -import 'foo.template.dart' as _templates; - import 'foo.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; import 'bar.dart'; import 'bar.ng_deps.dart' as i1; +import 'foo.template.dart' as _templates; export 'foo.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/event_getter_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/event_getter_files/expected/bar.ng_deps.dart index 064b1d566c..f2cbc3fde6 100644 --- a/modules_dart/transform/test/transform/integration/event_getter_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/event_getter_files/expected/bar.ng_deps.dart @@ -1,11 +1,10 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/list_of_types_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/list_of_types_files/expected/bar.ng_deps.dart index d56847d471..005b4a7398 100644 --- a/modules_dart/transform/test/transform/integration/list_of_types_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/list_of_types_files/expected/bar.ng_deps.dart @@ -1,12 +1,11 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; import 'foo.dart'; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/override_annotation_files/bar.dart b/modules_dart/transform/test/transform/integration/override_annotation_files/bar.dart new file mode 100644 index 0000000000..6f3cd7ee4a --- /dev/null +++ b/modules_dart/transform/test/transform/integration/override_annotation_files/bar.dart @@ -0,0 +1,10 @@ +library bar; + +import 'package:angular2/src/core/metadata.dart'; + +@Component(selector: '[soup]') +@View(template: '') +class MyComponent implements QueryFieldProvider { + @override + String queryField; +} diff --git a/modules_dart/transform/test/transform/integration/override_annotation_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/override_annotation_files/expected/bar.ng_deps.dart new file mode 100644 index 0000000000..3128c4b81c --- /dev/null +++ b/modules_dart/transform/test/transform/integration/override_annotation_files/expected/bar.ng_deps.dart @@ -0,0 +1,30 @@ +library bar.ng_deps.dart; + +import 'bar.dart'; +import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; +import 'package:angular2/src/core/metadata.dart'; +import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; +export 'bar.dart'; + +var _visited = false; +void initReflector() { + if (_visited) return; + _visited = true; + _ngRef.reflector + ..registerType( + MyComponent, + new _ngRef.ReflectionInfo( + const [ + const Component(selector: '[soup]'), + const View(template: ''), + _templates.HostMyComponentTemplate + ], + const [], + () => new MyComponent(), + const [QueryFieldProvider], + const { + 'queryField': const [override] + })); + i0.initReflector(); +} diff --git a/modules_dart/transform/test/transform/integration/queries_class_annotation_files/bar.dart b/modules_dart/transform/test/transform/integration/queries_class_annotation_files/bar.dart new file mode 100644 index 0000000000..7078b8ab4c --- /dev/null +++ b/modules_dart/transform/test/transform/integration/queries_class_annotation_files/bar.dart @@ -0,0 +1,9 @@ +library bar; + +import 'package:angular2/src/core/metadata.dart'; + +@Component( + selector: '[soup]', + queries: const {'queryField': const ContentChild('child')}) +@View(template: '') +class MyComponent {} diff --git a/modules_dart/transform/test/transform/integration/queries_class_annotation_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/queries_class_annotation_files/expected/bar.ng_deps.dart new file mode 100644 index 0000000000..b16d6c2cc3 --- /dev/null +++ b/modules_dart/transform/test/transform/integration/queries_class_annotation_files/expected/bar.ng_deps.dart @@ -0,0 +1,26 @@ +library bar.ng_deps.dart; + +import 'bar.dart'; +import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; +import 'package:angular2/src/core/metadata.dart'; +import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; +export 'bar.dart'; + +var _visited = false; +void initReflector() { + if (_visited) return; + _visited = true; + _ngRef.reflector + ..registerType( + MyComponent, + new _ngRef.ReflectionInfo(const [ + const Component( + queries: const {'queryField': const ContentChild('child')}, + selector: '[soup]'), + const View(template: ''), + _templates.HostMyComponentTemplate + ], const [], () => new MyComponent())) + ..registerSetters({'queryField': (o, v) => o.queryField = v}); + i0.initReflector(); +} diff --git a/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/bar.dart b/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/bar.dart new file mode 100644 index 0000000000..eb56d53d61 --- /dev/null +++ b/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/bar.dart @@ -0,0 +1,9 @@ +library bar; + +import 'package:angular2/src/core/metadata.dart'; + +@Component(selector: '[soup]') +@View(template: '') +class MyComponent { + @ContentChild('child') String queryField; +} diff --git a/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/expected/bar.ng_deps.dart new file mode 100644 index 0000000000..1fcdbe6d16 --- /dev/null +++ b/modules_dart/transform/test/transform/integration/queries_prop_annotation_files/expected/bar.ng_deps.dart @@ -0,0 +1,31 @@ +library bar.ng_deps.dart; + +import 'bar.dart'; +import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; +import 'package:angular2/src/core/metadata.dart'; +import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; +export 'bar.dart'; + +var _visited = false; +void initReflector() { + if (_visited) return; + _visited = true; + _ngRef.reflector + ..registerType( + MyComponent, + new _ngRef.ReflectionInfo( + const [ + const Component(selector: '[soup]'), + const View(template: ''), + _templates.HostMyComponentTemplate + ], + const [], + () => new MyComponent(), + const [], + const { + 'queryField': const [const ContentChild('child')] + })) + ..registerSetters({'queryField': (o, v) => o.queryField = v}); + i0.initReflector(); +} diff --git a/modules_dart/transform/test/transform/integration/simple_annotation_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/simple_annotation_files/expected/bar.ng_deps.dart index 2b62eb98df..e7fc99c12b 100644 --- a/modules_dart/transform/test/transform/integration/simple_annotation_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/simple_annotation_files/expected/bar.ng_deps.dart @@ -1,11 +1,10 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/synthetic_ctor_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/synthetic_ctor_files/expected/bar.ng_deps.dart index b207b8263a..9d0372cb11 100644 --- a/modules_dart/transform/test/transform/integration/synthetic_ctor_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/synthetic_ctor_files/expected/bar.ng_deps.dart @@ -1,11 +1,10 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/two_annotations_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/two_annotations_files/expected/bar.ng_deps.dart index d79cf710ea..476f499d8c 100644 --- a/modules_dart/transform/test/transform/integration/two_annotations_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/two_annotations_files/expected/bar.ng_deps.dart @@ -1,11 +1,10 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/integration/two_deps_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/integration/two_deps_files/expected/bar.ng_deps.dart index 43957ed8e2..000d99a98b 100644 --- a/modules_dart/transform/test/transform/integration/two_deps_files/expected/bar.ng_deps.dart +++ b/modules_dart/transform/test/transform/integration/two_deps_files/expected/bar.ng_deps.dart @@ -1,12 +1,11 @@ library bar.ng_deps.dart; -import 'bar.template.dart' as _templates; - import 'bar.dart'; import 'package:angular2/src/core/reflection/reflection.dart' as _ngRef; import 'package:angular2/src/core/metadata.dart'; import 'package:angular2/src/core/metadata.ng_deps.dart' as i0; import 'foo.dart' as prefix; +import 'bar.template.dart' as _templates; export 'bar.dart'; var _visited = false; diff --git a/modules_dart/transform/test/transform/template_compiler/all_tests.dart b/modules_dart/transform/test/transform/template_compiler/all_tests.dart index 54a5c33070..cdca4e2ac0 100644 --- a/modules_dart/transform/test/transform/template_compiler/all_tests.dart +++ b/modules_dart/transform/test/transform/template_compiler/all_tests.dart @@ -4,8 +4,9 @@ import 'dart:async'; import 'dart:convert'; import 'package:barback/barback.dart'; +import 'package:angular2/src/core/change_detection/codegen_name_util.dart' + show CONTEXT_ACCESSOR; import 'package:angular2/src/core/dom/html_adapter.dart'; -import 'package:angular2/src/transform/common/asset_reader.dart'; import 'package:angular2/src/transform/common/logging.dart' as log; import 'package:angular2/src/transform/template_compiler/generator.dart'; import 'package:dart_style/dart_style.dart'; @@ -13,226 +14,374 @@ import 'package:path/path.dart' as path; import 'package:guinness/guinness.dart'; import '../common/compile_directive_metadata/ng_for.ng_meta.dart' as ngMeta; +import '../common/ng_meta_helper.dart'; import '../common/read_file.dart'; import '../common/recording_logger.dart'; var formatter = new DartFormatter(); -AssetReader reader; +TestAssetReader reader; +RecordingLogger logger; main() => allTests(); +var fooComponentMeta, fooNgMeta, fooAssetId; +var barComponentMeta, barNgMeta, barAssetId; +var bazComponentMeta, bazNgMeta, bazAssetId; + +/// Call after making changes to `fooNgMeta`, `barNgMeta`, or `bazNgMeta` and +/// before trying to read them from `reader`. +TestAssetReader updateReader() => reader + ..addAsset(fooAssetId, JSON.encode(fooNgMeta.toJson())) + ..addAsset(barAssetId, JSON.encode(barNgMeta.toJson())) + ..addAsset(bazAssetId, JSON.encode(bazNgMeta.toJson())); + void allTests() { Html5LibDomAdapter.makeCurrent(); - beforeEach(() async { + final moduleBase = 'asset:a'; + + beforeEach(() { reader = new TestAssetReader() ..addAsset( new AssetId('angular2', 'lib/src/directives/ng_for.ng_meta.json'), JSON.encode(ngMeta.ngFor)); + + // Establish some test NgMeta objects with one Component each. + // NOTE(kegluneq): For simplicity, the NgDepsModel objects created here are + // lacking some details that would be created by DirectiveProcessor but + // which are not used in the template compiler. + fooComponentMeta = createFoo(moduleBase); + fooNgMeta = new NgMeta(ngDeps: new NgDepsModel() + ..libraryUri = 'test.foo' + ..reflectables.add(new ReflectionInfoModel()..name = fooComponentMeta.type.name)); + fooNgMeta.types[fooComponentMeta.type.name] = fooComponentMeta; + + barComponentMeta = createBar(moduleBase); + barNgMeta = new NgMeta(ngDeps: new NgDepsModel() + ..libraryUri = 'test.bar' + ..reflectables.add(new ReflectionInfoModel()..name = barComponentMeta.type.name)); + barNgMeta.types[barComponentMeta.type.name] = barComponentMeta; + + bazComponentMeta = createBaz(moduleBase); + bazNgMeta = new NgMeta(ngDeps: new NgDepsModel() + ..libraryUri = 'test.baz' + ..reflectables.add(new ReflectionInfoModel()..name = bazComponentMeta.type.name)); + barNgMeta.types[bazComponentMeta.type.name] = bazComponentMeta; + + fooAssetId = new AssetId('a', 'lib/foo.ng_meta.json'); + barAssetId = new AssetId('a', 'lib/bar.ng_meta.json'); + bazAssetId = new AssetId('a', 'lib/baz.ng_meta.json'); + updateReader(); }); - describe('registrations', () { - noChangeDetectorTests(); - changeDetectorTests(); - }); -} - -void changeDetectorTests() { - Future process(AssetId assetId) { - return log.setZoned( - new RecordingLogger(), () => processTemplates(reader, assetId)); - } - - // TODO(tbosch): This is just a temporary test that makes sure that the dart server and - // dart browser is in sync. Change this to "not contains notifyBinding" - // when https://github.com/angular/angular/issues/3019 is solved. - it('should not always notifyDispatcher for template variables', () async { - var inputPath = 'template_compiler/ng_for_files/hello.ng_deps.dart'; - var output = await (process(new AssetId('a', inputPath))); - expect(output.templatesCode).not.toContain('notifyDispatcher'); - }); - - it('should include directives mentioned in directive aliases.', () async { - // Input 2 is the same as input1, but contains the directive aliases - // inlined. - var input1Path = - 'template_compiler/directive_aliases_files/hello1.ng_deps.dart'; - var input2Path = - 'template_compiler/directive_aliases_files/hello2.ng_deps.dart'; - // Except for the directive argument in the View annotation, the generated - // change detectors are identical. - var output1 = (await process(new AssetId('a', input1Path))).templatesCode; - var output2 = (await process(new AssetId('a', input2Path))).templatesCode; - _formatThenExpectEquals(output1, output2); - }); - - it('should handle `directives` regardless of annotation ordering', () async { - // Input 2 is the same as input1, but has the @View annotation listed first. - var input1Path = 'template_compiler/annotation_ordering_files/' - 'component_first.ng_deps.dart'; - var input2Path = 'template_compiler/annotation_ordering_files/' - 'view_first.ng_deps.dart'; - // Except for the type name, the generated change detectors are identical. - var output1 = (await process(new AssetId('a', input1Path))) - .templatesCode - .replaceAll('ComponentFirst', 'ViewFirst') - .replaceAll('component_first', 'view_first'); - var output2 = (await process(new AssetId('a', input2Path))).templatesCode; - _formatThenExpectEquals(output1, output2); - }); -} - -void noChangeDetectorTests() { Future process(AssetId assetId) { - return log.setZoned( - new RecordingLogger(), - () => processTemplates(reader, assetId) - .then((outputs) => outputs.ngDepsCode)); + logger = new RecordingLogger(); + return log.setZoned(logger, + () => processTemplates(reader, assetId)); } + // TODO(tbosch): This is just a temporary test that makes sure that the dart + // server and dart browser is in sync. + it('should not contain notifyBinding', () async { + fooComponentMeta.template = new CompileTemplateMetadata( + template: '
  • test
  • '); + final viewAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + viewAnnotation.namedParameters.add(new NamedParameter() + ..name = 'directives' + ..value = 'const [NgFor]'); + fooNgMeta.ngDeps.reflectables.first.annotations.add(viewAnnotation); + fooNgMeta.ngDeps.imports.add( + new ImportModel()..uri = 'package:angular2/src/directives/ng_for.dart'); + + reader.addAsset(new AssetId('angular2', 'lib/src/directives/ng_for.dart'), + JSON.encode(ngMeta.ngFor)); + + updateReader(); + + final outputs = await process(fooAssetId); + // TODO(kegluenq): Does this next line need to be updated as well? + expect(outputs.templatesCode).not.toContain('notifyDispatcher'); + }); + it('should parse simple expressions in inline templates.', () async { - var inputPath = - 'template_compiler/inline_expression_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/inline_expression_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta.template = new CompileTemplateMetadata( + template: '
    {{greeting}}
    ', + templateUrl: 'template.html'); + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps).toBeNotNull(); + expect(ngDeps.imports).toContain(new ImportModel() + ..uri = 'foo.template.dart' + ..prefix = '_templates'); + expect(ngDeps.reflectables.first.annotations) + .toContain(new AnnotationModel() + ..name = '_templates.HostFooComponentTemplate' + ..isConstObject = true); + expect(outputs.templatesCode) + ..toContain('$CONTEXT_ACCESSOR.greeting') + ..toContain('$CONTEXT_ACCESSOR.b'); }); it('should parse simple methods in inline templates.', () async { - var inputPath = 'template_compiler/inline_method_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/inline_method_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - }); + fooComponentMeta.template = new CompileTemplateMetadata( + template: '', + templateUrl: 'template.html'); + updateReader(); - it('should parse simple expressions in linked templates.', () async { - var inputPath = 'template_compiler/url_expression_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/url_expression_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - }); - - it('should parse simple methods in linked templates.', () async { - var inputPath = 'template_compiler/url_method_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/url_method_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps).toBeNotNull(); + expect(ngDeps.imports).toContain(new ImportModel() + ..uri = 'foo.template.dart' + ..prefix = '_templates'); + expect(ngDeps.reflectables.first.annotations) + .toContain(new AnnotationModel() + ..name = '_templates.HostFooComponentTemplate' + ..isConstObject = true); + expect(outputs.templatesCode)..toContain('$CONTEXT_ACCESSOR.action()'); }); it('should parse `View` directives with a single dependency.', () async { - var inputPath = 'template_compiler/one_directive_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/one_directive_files/expected/hello.ng_deps.dart'); + fooComponentMeta.template = + new CompileTemplateMetadata(template: '<${barComponentMeta.selector}>'); + final viewAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + viewAnnotation.namedParameters.add(new NamedParameter() + ..name = 'directives' + ..value = 'const [${barComponentMeta.type.name}]'); + fooNgMeta.ngDeps.reflectables.first.annotations.add(viewAnnotation); + fooNgMeta.ngDeps.imports.add(new ImportModel()..uri = 'bar.dart'); + barComponentMeta.template = + new CompileTemplateMetadata(template: 'BarTemplate'); + updateReader(); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps).toBeNotNull(); + expect(ngDeps.imports).toContain(new ImportModel() + ..uri = 'foo.template.dart' + ..prefix = '_templates'); + expect(ngDeps.reflectables.first.annotations) + .toContain(new AnnotationModel() + ..name = '_templates.HostFooComponentTemplate' + ..isConstObject = true); + + expect(outputs.templatesCode) + ..toContain("import 'bar.dart'") + ..toContain("import 'bar.template.dart'"); + }); + + it('should handle `directives` regardless of annotation ordering', () async { + fooComponentMeta.template = + new CompileTemplateMetadata(template: '<${barComponentMeta.selector}>'); + final viewAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + final directivesParameter = new NamedParameter() + ..name = 'directives' + ..value = 'const [${barComponentMeta.type.name}]'; + viewAnnotation.namedParameters.add(directivesParameter); + final componentAnnotation = new AnnotationModel() + ..name = 'Component' + ..isComponent = true; + fooNgMeta.ngDeps.reflectables.first.annotations + .addAll([viewAnnotation, componentAnnotation]); + fooNgMeta.ngDeps.imports.add(new ImportModel()..uri = 'bar.dart'); + barComponentMeta.template = + new CompileTemplateMetadata(template: 'BarTemplate'); + updateReader(); + + final viewFirstOutputs = await process(fooAssetId); + + fooNgMeta.ngDeps.reflectables.first.annotations.clear(); + fooNgMeta.ngDeps.reflectables.first.annotations + .addAll([componentAnnotation, viewAnnotation]); + updateReader(); + + final componentFirstOutputs = await process(fooAssetId); + + expect(viewFirstOutputs.templatesCode).toEqual(componentFirstOutputs.templatesCode); + }); + + it('should handle `directives` on @Component or @View', () async { + fooComponentMeta.template = + new CompileTemplateMetadata(template: '<${barComponentMeta.selector}>'); + final viewAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + final directivesParameter = new NamedParameter() + ..name = 'directives' + ..value = 'const [${barComponentMeta.type.name}]'; + viewAnnotation.namedParameters.add(directivesParameter); + final componentAnnotation = new AnnotationModel() + ..name = 'Component' + ..isComponent = true; + fooNgMeta.ngDeps.reflectables.first.annotations + .addAll([viewAnnotation, componentAnnotation]); + fooNgMeta.ngDeps.imports.add(new ImportModel()..uri = 'bar.dart'); + barComponentMeta.template = + new CompileTemplateMetadata(template: 'BarTemplate'); + updateReader(); + + final onViewOutputs = await process(fooAssetId); + + viewAnnotation.namedParameters.clear(); + componentAnnotation.namedParameters.add(directivesParameter); + updateReader(); + + final onComponentOutputs = await process(fooAssetId); + + expect(onComponentOutputs.templatesCode).toEqual(onViewOutputs.templatesCode); }); it('should parse `View` directives with a single prefixed dependency.', () async { - var inputPath = 'template_compiler/with_prefix_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/with_prefix_files/expected/hello.ng_deps.dart'); + fooComponentMeta.template = + new CompileTemplateMetadata(template: '<${barComponentMeta.selector}>'); + final componentAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + componentAnnotation.namedParameters.add(new NamedParameter() + ..name = 'directives' + ..value = 'const [prefix.${barComponentMeta.type.name}]'); + fooNgMeta.ngDeps.reflectables.first.annotations.add(componentAnnotation); + fooNgMeta.ngDeps.imports.add(new ImportModel() + ..uri = 'bar.dart' + ..prefix = 'prefix'); + barComponentMeta.template = + new CompileTemplateMetadata(template: 'BarTemplate'); + updateReader(); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps).toBeNotNull(); + expect(ngDeps.imports).toContain(new ImportModel() + ..uri = 'foo.template.dart' + ..prefix = '_templates'); + expect(ngDeps.reflectables.first.annotations) + .toContain(new AnnotationModel() + ..name = '_templates.HostFooComponentTemplate' + ..isConstObject = true); - inputPath = 'template_compiler/with_prefix_files/goodbye.ng_deps.dart'; - expected = readFile( - 'template_compiler/with_prefix_files/expected/goodbye.ng_deps.dart'); - - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + expect(outputs.templatesCode) + ..toContain("import 'bar.dart'") + ..toContain("import 'bar.template.dart'"); }); - it('should parse angular directives with a prefix', () async { - var inputPath = - 'template_compiler/with_prefix_files/ng2_prefix.ng_deps.dart'; - var expected = readFile( - 'template_compiler/with_prefix_files/expected/ng2_prefix.ng_deps.dart'); + it('should include directives mentioned in directive aliases.', () async { + fooComponentMeta.template = + new CompileTemplateMetadata(template: '<${barComponentMeta.selector}>'); + final componentAnnotation = new AnnotationModel() + ..name = 'View' + ..isView = true; + final directivesParam = new NamedParameter() + ..name = 'directives' + ..value = 'const [directiveAlias]'; + componentAnnotation.namedParameters.add(directivesParam); + fooNgMeta.ngDeps.reflectables.first.annotations.add(componentAnnotation); + fooNgMeta.ngDeps.imports.add(new ImportModel()..uri = 'bar.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooNgMeta.aliases['directiveAlias'] = [barComponentMeta.type.name]; + barComponentMeta.template = + new CompileTemplateMetadata(template: 'BarTemplate'); + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps).toBeNotNull(); + expect(ngDeps.imports).toContain(new ImportModel() + ..uri = 'foo.template.dart' + ..prefix = '_templates'); + expect(ngDeps.reflectables.first.annotations) + .toContain(new AnnotationModel() + ..name = '_templates.HostFooComponentTemplate' + ..isConstObject = true); + + expect(outputs.templatesCode) + ..toContain("import 'bar.dart'") + ..toContain("import 'bar.template.dart'"); }); it('should create the same output for multiple calls.', () async { - var inputPath = - 'template_compiler/inline_expression_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/inline_expression_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta.template = new CompileTemplateMetadata( + template: '
    {{greeting}}
    ', + templateUrl: 'template.html'); + updateReader(); + + final firstOutputs = await process(fooAssetId); + final secondOutputs = await process(fooAssetId); + expect(firstOutputs.ngDeps).toEqual(secondOutputs.ngDeps); + expect(firstOutputs.templatesCode).toEqual(secondOutputs.templatesCode); }); it('should generate getters for Component#outputs.', () async { - var inputPath = 'template_compiler/event_files/hello.ng_deps.dart'; - var expected = - readFile('template_compiler/event_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta.template = new CompileTemplateMetadata( + template: '
    {{greeting}}
    ', templateUrl: 'template.html'); + fooComponentMeta.outputs = {'eventName': 'eventName'}; + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps.getters).toContain('eventName'); }); it('should generate getters for Directive#outputs.', () async { - var inputPath = - 'template_compiler/directive_event_files/hello.ng_deps.dart'; - var expected = readFile( - 'template_compiler/directive_event_files/expected/hello.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta + ..template = null + ..isComponent = false; + fooComponentMeta.outputs = {'eventName': 'eventName'}; + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps.getters).toContain('eventName'); }); it('should generate setters for Component#inputs.', () async { - var inputPath = 'template_compiler/component_inputs_files/bar.ng_deps.dart'; - var expected = readFile( - 'template_compiler/component_inputs_files/expected/bar.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta.template = new CompileTemplateMetadata( + template: '
    {{greeting}}
    ', templateUrl: 'template.html'); + fooComponentMeta.inputs = {'text': 'tool-tip'}; + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps.setters).toContain('text'); }); it('should generate setters for Directive#inputs.', () async { - var inputPath = 'template_compiler/directive_inputs_files/bar.ng_deps.dart'; - var expected = readFile( - 'template_compiler/directive_inputs_files/expected/bar.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + fooComponentMeta + ..template = null + ..isComponent = false; + fooComponentMeta.inputs = {'text': 'tool-tip'}; + updateReader(); + + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps.setters).toContain('text'); }); it( 'should generate a single setter for two `Directive`s ' 'with the same inputs.', () async { - var inputPath = - 'template_compiler/duplicate_input_name_files/soup.ng_deps.dart'; - var expected = readFile( - 'template_compiler/duplicate_input_name_files/expected/soup.ng_deps.dart'); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); - }); + fooComponentMeta + ..template = null + ..isComponent = false; + fooComponentMeta.inputs = {'text': 'tool-tip'}; + barComponentMeta + ..template = null + ..isComponent = false; + barComponentMeta.inputs = {'text': 'tool-tip'}; + updateReader(); - // TODO(kegluenq): Before committing, should this test be removed or just - // modified to check something different, maybe the created template code? - xit('should generate all expected getters, setters, & methods.', () async { - var base = 'template_compiler/registrations_files'; - var inputPath = path.join(base, 'registrations.ng_deps.dart'); - var expected = - readFile(path.join(base, 'expected/registrations.ng_deps.dart')); - var output = await process(new AssetId('a', inputPath)); - _formatThenExpectEquals(output, expected); + final outputs = await process(fooAssetId); + final ngDeps = outputs.ngDeps; + expect(ngDeps.setters).toContain('text'); + expect(ngDeps.setters.length).toEqual(1); }); } diff --git a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_deps.dart deleted file mode 100644 index 50acacfb13..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_deps.dart +++ /dev/null @@ -1,24 +0,0 @@ -library test.src.transform.template_compiler.annotation_ordering_files.component_first.ng_deps.dart; - -import 'component_first.dart'; -import 'package:angular2/angular2.dart' - show Component, Directive, View, NgElement; -import 'package:angular2/src/directives/ng_for.dart'; -export 'component_first.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ComponentFirst, - new ReflectionInfo(const [ - const Component(selector: 'hello-app'), - const View( - template: '
  • test
  • ', - directives: const [NgFor]) - ], const [ - const [] - ], () => new ComponentFirst())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_meta.json deleted file mode 100644 index 17f466a482..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/component_first.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "ComponentFirst": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "ComponentFirst", - "moduleUrl": "asset:angular2/test/transform/template_compiler/ng_for_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "
  • test
  • ", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_deps.dart deleted file mode 100644 index b060746e3c..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_deps.dart +++ /dev/null @@ -1,24 +0,0 @@ -library test.src.transform.template_compiler.annotation_ordering_files.view_first.ng_deps.dart; - -import 'view_first.dart'; -import 'package:angular2/angular2.dart' - show Component, Directive, View, NgElement; -import 'package:angular2/src/directives/ng_for.dart'; -export 'view_first.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ViewFirst, - new ReflectionInfo(const [ - const View( - template: '
  • test
  • ', - directives: const [NgFor]), - const Component(selector: 'hello-app') - ], const [ - const [] - ], () => new ViewFirst())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_meta.json deleted file mode 100644 index 462d227fd2..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/annotation_ordering_files/view_first.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "ViewFirst": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "ViewFirst", - "moduleUrl": "asset:angular2/test/transform/template_compiler/ng_for_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "
  • test
  • ", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_deps.dart deleted file mode 100644 index 299ef847b9..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_deps.dart +++ /dev/null @@ -1,18 +0,0 @@ -library bar.ng_deps.dart; - -import 'bar.dart'; -import 'package:angular2/src/core/metadata.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ToolTip, - new ReflectionInfo(const [ - const Component( - selector: '[tool-tip]', inputs: const ['text: tool-tip']), - const View(template: '
    Tooltip
    ') - ], const [], () => new ToolTip())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_meta.json deleted file mode 100644 index 55f8e76cef..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/bar.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "ToolTip": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"[tool-tip]", - "exportAs": null, - "type": { - "id": 1, - "name": "ToolTip", - "moduleUrl": "asset:template_compiler/lib/basic_inputs_files/bar.dart" - }, - "changeDetection": 5, - "inputs": {"text": "tool-tip"}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "
    Tooltip
    ", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/component_inputs_files/expected/bar.ng_deps.dart deleted file mode 100644 index dbdb448922..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/component_inputs_files/expected/bar.ng_deps.dart +++ /dev/null @@ -1,22 +0,0 @@ -library bar.ng_deps.dart; - -import 'bar.template.dart' as _templates; - -import 'bar.dart'; -import 'package:angular2/src/core/metadata.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ToolTip, - new ReflectionInfo(const [ - const Component( - selector: '[tool-tip]', inputs: const ['text: tool-tip']), - const View(template: '
    Tooltip
    '), - _templates.HostToolTipTemplate - ], const [], () => new ToolTip())) - ..registerSetters({'text': (o, v) => o.text = v}); -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello1.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello1.ng_meta.json deleted file mode 100644 index 75e907474c..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello1.ng_meta.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:template_compiler/lib/directive_aliases_files/hello1.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "goodbye-app", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - }, - "GoodbyeCmp":{ - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"goodbye-app", - "exportAs": null, - "type": { - "id": 1, - "name": "GoodbyeCmp", - "moduleUrl": "asset:template_compiler/lib/directive_aliases_files/hello1.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "Goodbye", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - }, - "aliases1":{ - "kind": "alias", - "value": [ - "GoodbyeCmp" - ] - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello2.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello2.ng_meta.json deleted file mode 100644 index 2a300c5331..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_aliases_files/hello2.ng_meta.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:template_compiler/lib/directive_aliases_files/hello1.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "goodbye-app", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - }, - "GoodbyeCmp":{ - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"goodbye-app", - "exportAs": null, - "type": { - "id": 1, - "name": "GoodbyeCmp", - "moduleUrl": "asset:template_compiler/lib/directive_aliases_files/hello1.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "Goodbye", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_event_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/directive_event_files/hello.ng_meta.json deleted file mode 100644 index 41dc22e23f..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_event_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": false, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/directive_event_files/hello.dart" - }, - "changeDetection": 5, - "properties": {}, - "outputs": {"eventName": "eventName"}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_deps.dart deleted file mode 100644 index ae39e2071f..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_deps.dart +++ /dev/null @@ -1,17 +0,0 @@ -library bar.ng_deps.dart; - -import 'bar.dart'; -import 'package:angular2/src/core/metadata.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ToolTip, - new ReflectionInfo(const [ - const Directive( - selector: '[tool-tip]', inputs: const ['text: tool-tip']) - ], const [], () => new ToolTip())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_meta.json deleted file mode 100644 index 1c32bf5c45..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/bar.ng_meta.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ToolTip": - { - "kind": "type", - "value": { - "isComponent": false, - "dynamicLoadable": true, - "selector":"[tool-tip]", - "exportAs": null, - "type": { - "id": 1, - "name": "ToolTip", - "moduleUrl": "asset:template_compiler/lib/basic_inputs_files/bar.dart" - }, - "changeDetection": 5, - "inputs": {"text": "tool-tip"}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": null - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/expected/bar.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/expected/bar.ng_deps.dart deleted file mode 100644 index 13a7322bfe..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/directive_inputs_files/expected/bar.ng_deps.dart +++ /dev/null @@ -1,18 +0,0 @@ -library bar.ng_deps.dart; - -import 'bar.dart'; -import 'package:angular2/src/core/metadata.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - ToolTip, - new ReflectionInfo(const [ - const Directive( - selector: '[tool-tip]', inputs: const ['text: tool-tip']) - ], const [], () => new ToolTip())) - ..registerSetters({'text': (o, v) => o.text = v}); -} diff --git a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/expected/soup.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/expected/soup.ng_deps.dart deleted file mode 100644 index 172a118d28..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/expected/soup.ng_deps.dart +++ /dev/null @@ -1,25 +0,0 @@ -library dinner.soup.ng_deps.dart; - -import 'package:angular2/src/core/metadata.dart'; -import 'soup.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - SoupDirective, - new ReflectionInfo(const [ - const Directive( - selector: 'soup', - componentServices: const [SaladDirective], - inputs: const ['menu']) - ], const [], () => new SoupDirective())) - ..registerType( - SaladDirective, - new ReflectionInfo(const [ - const Directive(selector: 'salad', inputs: const ['menu']) - ], const [], () => new SaladDirective())) - ..registerSetters({'menu': (o, v) => o.menu = v}); -} diff --git a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_deps.dart deleted file mode 100644 index 221bbceef4..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_deps.dart +++ /dev/null @@ -1,24 +0,0 @@ -library dinner.soup.ng_deps.dart; - -import 'package:angular2/src/core/metadata.dart'; -import 'soup.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - SoupDirective, - new ReflectionInfo(const [ - const Directive( - selector: 'soup', - componentServices: const [SaladDirective], - inputs: const ['menu']) - ], const [], () => new SoupDirective())) - ..registerType( - SaladDirective, - new ReflectionInfo(const [ - const Directive(selector: 'salad', inputs: const ['menu']) - ], const [], () => new SaladDirective())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_meta.json deleted file mode 100644 index 37e4b8116e..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/duplicate_input_name_files/soup.ng_meta.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "SoupDirective": - { - "kind": "type", - "value": { - "isComponent": false, - "dynamicLoadable": true, - "selector":"soup", - "exportAs": null, - "type": { - "id": 1, - "name": "SoupDirective", - "moduleUrl": "asset:template_compiler/test/duplicate_input_name_files/soup.dart" - }, - "changeDetection": 5, - "inputs": {"menu": "menu"}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": null - } - }, - "SaladDirective": - { - "kind": "type", - "value": { - "isComponent": false, - "dynamicLoadable": true, - "selector":"salad", - "exportAs": null, - "type": { - "id": 1, - "name": "SaladDirective", - "moduleUrl": "asset:template_compiler/test/duplicate_input_name_files/soup.dart" - }, - "changeDetection": 5, - "inputs": {"menu": "menu"}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": null - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/event_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/event_files/hello.ng_meta.json deleted file mode 100644 index 02eaec83fe..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/event_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/event_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {"eventName": "eventName"}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/inline_expression_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/inline_expression_files/hello.ng_meta.json deleted file mode 100644 index 5ab90bb0ce..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/inline_expression_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/inline_expression_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "
    {{greeting}}
    ", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/inline_method_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/inline_method_files/hello.ng_meta.json deleted file mode 100644 index fda887b533..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/inline_method_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/inline_method_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_deps.dart deleted file mode 100644 index a97cd2eef8..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_deps.dart +++ /dev/null @@ -1,23 +0,0 @@ -library test.src.transform.template_compiler.ng_for_files.hello.ng_deps.dart; - -import 'hello.dart'; -import 'package:angular2/angular2.dart' - show Component, Directive, View, NgElement; -import 'package:angular2/src/directives/ng_for.dart'; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - HelloCmp, - new ReflectionInfo(const [ - const Component(selector: 'hello-app'), - const View( - template: '
  • test
  • ', - directives: const [NgFor]) - ], const [ - const [] - ], () => new HelloCmp())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_meta.json deleted file mode 100644 index f0d6acabfa..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/ng_for_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/ng_for_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "
  • test
  • ", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/one_directive_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/one_directive_files/hello.ng_meta.json deleted file mode 100644 index a7c89517b9..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/one_directive_files/hello.ng_meta.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/one_directive_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "goodbye-app", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - }, - "GoodbyeCmp":{ - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"goodbye-app", - "exportAs": null, - "type": { - "id": 1, - "name": "GoodbyeCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/one_directive_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "Goodbye", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/registrations_files/dependency.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/registrations_files/dependency.ng_meta.json deleted file mode 100644 index 2320627a8a..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/registrations_files/dependency.ng_meta.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "DependencyCmp": { - "kind": "type", - "value": { - "id": "DependencyCmp", - "selector": "dependency", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": null, - "readAttributes": null, - "type": null, - "exportAs": null, - "callOnDestroy": null, - "callDoCheck": null, - "callOnInit": null, - "callOnChanges": null, - "callAfterContentInit": null, - "callAfterContentChecked": null, - "callAfterViewInit": null, - "callAfterViewChecked": null, - "outputs": ["dependencyEventName"], - "changeDetection": null, - "version": 1 - } - }, - "DirectiveProps": { - "kind": "type", - "value": { - "id": "DirectiveProps", - "selector": "[dir-props]", - "compileChildren": true, - "hostProperties": {"hprop": "hprop"}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": ["prop"], - "readAttributes": null, - "type": null, - "exportAs": null, - "callOnDestroy": null, - "callDoCheck": null, - "callOnInit": null, - "callOnChanges": null, - "callAfterContentInit": null, - "callAfterContentChecked": null, - "callAfterViewInit": null, - "callAfterViewChecked": null, - "outpus": null, - "changeDetection": null, - "version": 1 - } - }, - "DirectiveEvents": { - "kind": "type", - "value": { - "id": "DirectiveEvents", - "selector": "[dir-events]", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {"subevent": "doAThing()"}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": null, - "type": null, - "exportAs": null, - "callOnDestroy": null, - "callDoCheck": null, - "callOnInit": null, - "callOnChanges": null, - "callAfterContentInit": null, - "callAfterContentChecked": null, - "callAfterViewInit": null, - "callAfterViewChecked": null, - "outputs": null, - "changeDetection": null, - "version": 1 - } - }, - "NgFor": { - "kind": "type", - "value": { - "id": "NgFor", - "selector": "[ng-for][ng-for-of]", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": ["ngForOf"], - "readAttributes": null, - "type": null, - "exportAs": null, - "callOnDestroy": null, - "callDoCheck": true, - "callOnInit": null, - "callOnChanges": null, - "callAfterContentInit": null, - "callAfterContentChecked": null, - "callAfterViewInit": null, - "callAfterViewChecked": null, - "outputs": null, - "changeDetection": null, - "version": 1 - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/registrations_files/registrations.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/registrations_files/registrations.ng_meta.json deleted file mode 100644 index 40cbd8235c..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/registrations_files/registrations.ng_meta.json +++ /dev/null @@ -1,210 +0,0 @@ -{ - "TextBindingsCmp": { - "kind": "type", - "value": { - "id": "TextBindingsCmp", - "selector": "text", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": null, - "readAttributes": null, - "type": null, - "exportAs": null, - "callOnDestroy": null, - "callDoCheck": null, - "callOnInit": null, - "callOnChanges": null, - "callAfterContentInit": null, - "callAfterContentChecked": null, - "callAfterViewInit": null, - "callAfterViewChecked": null, - "outputs": null, - "changeDetection": null, - "version": 1 - } - }, - "PropertyBindingsCmp": { - "kind": "type", - "value": { - "id": "PropertyBindingsCmp", - "selector": "props", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 0, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - }, - "EventsCmp": { - "kind": "type", - "value": { - "id": "EventsCmp", - "selector": "outputs", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": ["eventName"], - "changeDetection": null, - "version": 1 - } - }, - "SubEventsCmp": { - "kind": "type", - "value": { - "id": "SubEventsCmp", - "selector": "outputs", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - }, - "TemplateEventsCmp": { - "kind": "type", - "value": { - "id": "TemplateEventsCmp", - "selector": "template-events", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - }, - "DirectivePropsCmp": { - "kind": "type", - "value": { - "id": "DirectivePropsCmp", - "selector": "directive-props-cmp", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - }, - "DirectiveEventsCmp": { - "kind": "type", - "value": { - "id": "DirectiveEventsCmp", - "selector": "directive-events-cmp", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - }, - "RecursiveCmp": { - "kind": "type", - "value": { - "id": "RecursiveCmp", - "selector": "recursive-cmp", - "compileChildren": true, - "hostProperties": {}, - "hostListeners": {}, - "hostAttributes": {}, - "inputs": [], - "readAttributes": [], - "type": 1, - "exportAs": null, - "callOnDestroy": false, - "callDoCheck": false, - "callOnInit": false, - "callOnChanges": false, - "callAfterContentInit": false, - "callAfterContentChecked": false, - "callAfterViewInit": false, - "callAfterViewChecked": false, - "outputs": [], - "changeDetection": null, - "version": 1 - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/url_expression_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/url_expression_files/hello.ng_meta.json deleted file mode 100644 index 4577f6e6cd..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/url_expression_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/url_expression_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "{{greeting}}", - "templateUrl": "template.html", - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/url_expression_files/template.html b/modules_dart/transform/test/transform/template_compiler/url_expression_files/template.html deleted file mode 100644 index d75013393f..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/url_expression_files/template.html +++ /dev/null @@ -1 +0,0 @@ -{{greeting}} \ No newline at end of file diff --git a/modules_dart/transform/test/transform/template_compiler/url_method_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/url_method_files/hello.ng_meta.json deleted file mode 100644 index 323a306ce1..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/url_method_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/url_method_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "", - "templateUrl": "template.html", - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/url_method_files/template.html b/modules_dart/transform/test/transform/template_compiler/url_method_files/template.html deleted file mode 100644 index f985e49978..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/url_method_files/template.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/expected/ng2_prefix.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/with_prefix_files/expected/ng2_prefix.ng_deps.dart deleted file mode 100644 index e2811fa002..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/expected/ng2_prefix.ng_deps.dart +++ /dev/null @@ -1,23 +0,0 @@ -library angular2.test.transform.template_compiler.with_prefix_files.ng2_prefix.ng_deps.dart; - -import 'ng2_prefix.template.dart' as _templates; - -import 'ng2_prefix.dart'; -import 'package:angular2/angular2.dart' as ng2 - show Component, Directive, View, NgElement; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - MyApp, - new ReflectionInfo(const [ - const ng2.Component(selector: 'my-app'), - const ng2.View(template: 'MyApp {{name}}'), - _templates.HostMyAppTemplate - ], const [ - const [] - ], () => new MyApp())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/goodbye.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/with_prefix_files/goodbye.ng_meta.json deleted file mode 100644 index cecace6985..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/goodbye.ng_meta.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "GoodbyeCmp":{ - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"goodbye-app", - "exportAs": null, - "type": { - "id": 1, - "name": "GoodbyeCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/with_prefix_files/goodbye.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "Goodbye {{name}}", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/hello.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/with_prefix_files/hello.ng_meta.json deleted file mode 100644 index ce66227244..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/hello.ng_meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "HelloCmp": - { - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"hello-app", - "exportAs": null, - "type": { - "id": 1, - "name": "HelloCmp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/with_prefix_files/hello.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "goodbye-app", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -} diff --git a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_deps.dart b/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_deps.dart deleted file mode 100644 index 1e2488b827..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_deps.dart +++ /dev/null @@ -1,20 +0,0 @@ -library angular2.test.transform.template_compiler.with_prefix_files.ng2_prefix.ng_deps.dart; - -import 'ng2_prefix.dart'; -import 'package:angular2/angular2.dart' as ng2 - show Component, Directive, View, NgElement; - -var _visited = false; -void initReflector(reflector) { - if (_visited) return; - _visited = true; - reflector - ..registerType( - MyApp, - new ReflectionInfo(const [ - const ng2.Component(selector: 'my-app'), - const ng2.View(template: 'MyApp {{name}}') - ], const [ - const [] - ], () => new MyApp())); -} diff --git a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_meta.json b/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_meta.json deleted file mode 100644 index 5d50369c6a..0000000000 --- a/modules_dart/transform/test/transform/template_compiler/with_prefix_files/ng2_prefix.ng_meta.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "MyApp":{ - "kind": "type", - "value": { - "isComponent": true, - "dynamicLoadable": true, - "selector":"my-app", - "exportAs": null, - "type": { - "id": 1, - "name": "MyApp", - "moduleUrl": "asset:angular2/test/transform/template_compiler/with_prefix_files/ng2_prefix.dart" - }, - "changeDetection": 5, - "inputs": {}, - "outputs": {}, - "hostListeners": {}, - "hostProperties": {}, - "hostAttributes": {}, - "lifecycleHooks": [], - "template": { - "encapsulation": 0, - "template": "MyApp {{name}}", - "templateUrl": null, - "styles": null, - "styleUrls": null, - "ngContentSelectors": null - } - } - } -}