feat(dart/transform): Add the DirectiveMetadataReader
Add a class that parses and reads Directive metadata to prepare for running the Render compiler in the Dart transformer.
This commit is contained in:
@@ -3,6 +3,8 @@ library angular2.test.transform.template_compiler.all_tests;
|
||||
import 'package:barback/barback.dart';
|
||||
import 'package:angular2/src/dom/html_adapter.dart';
|
||||
import 'package:angular2/src/transform/common/asset_reader.dart';
|
||||
import 'package:angular2/src/transform/common/parser.dart';
|
||||
import 'package:angular2/src/transform/template_compiler/directive_metadata_reader.dart';
|
||||
import 'package:angular2/src/transform/template_compiler/generator.dart';
|
||||
import 'package:dart_style/dart_style.dart';
|
||||
import 'package:guinness/guinness.dart';
|
||||
@@ -14,6 +16,7 @@ var formatter = new DartFormatter();
|
||||
void allTests() {
|
||||
Html5LibDomAdapter.makeCurrent();
|
||||
AssetReader reader = new TestAssetReader();
|
||||
var parser = new Parser(reader);
|
||||
|
||||
it('should parse simple expressions in inline templates.', () async {
|
||||
var inputPath =
|
||||
@@ -47,6 +50,48 @@ void allTests() {
|
||||
var output = await processTemplates(reader, new AssetId('a', inputPath));
|
||||
_formatThenExpectEquals(output, expected);
|
||||
});
|
||||
|
||||
describe('DirectiveMetadataReader', () {
|
||||
it('should parse simple expressions in inline templates', () async {
|
||||
var inputPath =
|
||||
'template_compiler/inline_expression_files/hello.ng_deps.dart';
|
||||
var ngDeps = await parser.parse(new AssetId('a', inputPath));
|
||||
|
||||
var metadata = readDirectiveMetadata(ngDeps.registeredTypes.first);
|
||||
expect(metadata.length).toEqual(2);
|
||||
expect(metadata[0].selector).toEqual('hello-app');
|
||||
});
|
||||
|
||||
it('should parse simple methods in inline templates', () async {
|
||||
var inputPath =
|
||||
'template_compiler/inline_method_files/hello.ng_deps.dart';
|
||||
var ngDeps = await parser.parse(new AssetId('a', inputPath));
|
||||
|
||||
var metadata = readDirectiveMetadata(ngDeps.registeredTypes.first);
|
||||
expect(metadata.length).toEqual(2);
|
||||
expect(metadata[0].selector).toEqual('hello-app');
|
||||
});
|
||||
|
||||
it('should parse simple expressions in linked templates.', () async {
|
||||
var inputPath =
|
||||
'template_compiler/url_expression_files/hello.ng_deps.dart';
|
||||
var ngDeps = await parser.parse(new AssetId('a', inputPath));
|
||||
|
||||
var metadata = readDirectiveMetadata(ngDeps.registeredTypes.first);
|
||||
expect(metadata.length).toEqual(2);
|
||||
expect(metadata[0].selector).toEqual('hello-app');
|
||||
});
|
||||
|
||||
it('should parse simple methods in linked templates.', () async {
|
||||
var inputPath =
|
||||
'template_compiler/url_method_files/hello.ng_deps.dart';
|
||||
var ngDeps = await parser.parse(new AssetId('a', inputPath));
|
||||
|
||||
var metadata = readDirectiveMetadata(ngDeps.registeredTypes.first);
|
||||
expect(metadata.length).toEqual(2);
|
||||
expect(metadata[0].selector).toEqual('hello-app');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void _formatThenExpectEquals(String actual, String expected) {
|
||||
|
||||
Reference in New Issue
Block a user