feat(dart/transform): Add simple ParseTemplates step
Adds a step that parses `inline` Template values to generate getters and setters.
This commit is contained in:
@ -0,0 +1,30 @@
|
||||
library angular2.test.transform.directive_processor.all_tests;
|
||||
|
||||
import 'dart:io';
|
||||
import 'package:barback/barback.dart';
|
||||
import 'package:angular2/src/transform/common/asset_reader.dart';
|
||||
import 'package:angular2/src/transform/common/formatter.dart';
|
||||
import 'package:angular2/src/transform/template_parser/generator.dart';
|
||||
import 'package:code_transformers/tests.dart';
|
||||
import 'package:dart_style/dart_style.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:unittest/unittest.dart';
|
||||
import 'package:unittest/vm_config.dart';
|
||||
|
||||
import '../common/read_file.dart';
|
||||
|
||||
var formatter = new DartFormatter();
|
||||
|
||||
void allTests() {
|
||||
AssetReader reader = new TestAssetReader();
|
||||
|
||||
test('should parse simple inline templates.', () async {
|
||||
var inputPath = 'template_parser/basic_files/hello.ngDeps.dart';
|
||||
var expected =
|
||||
readFile('template_parser/basic_files/expected/hello.ngDeps.dart');
|
||||
var output = await processTemplates(reader, new AssetId('a', inputPath));
|
||||
output = formatter.format(output);
|
||||
expected = formatter.format(expected);
|
||||
expect(output, equals(expected));
|
||||
});
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
library examples.src.hello_world.index_common_dart;
|
||||
|
||||
import 'hello.dart';
|
||||
import 'package:angular2/angular2.dart'
|
||||
show bootstrap, Component, Decorator, Template, NgElement;
|
||||
|
||||
bool _visited = false;
|
||||
void setupReflection(reflector) {
|
||||
if (_visited) return;
|
||||
_visited = true;
|
||||
reflector
|
||||
..registerType(HelloCmp, {
|
||||
'factory': () => new HelloCmp(),
|
||||
'parameters': const [const []],
|
||||
'annotations': const [
|
||||
const Component(selector: 'hello-app'),
|
||||
const Template(inline: '{{greeting}}')
|
||||
]
|
||||
})
|
||||
..registerGetters({'greeting': (o) => o.greeting})
|
||||
..registerSetters({'greeting': (o, String v) => o.greeting = v});
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
library examples.src.hello_world.index_common_dart;
|
||||
|
||||
import 'hello.dart';
|
||||
import 'package:angular2/angular2.dart'
|
||||
show bootstrap, Component, Decorator, Template, NgElement;
|
||||
|
||||
bool _visited = false;
|
||||
void setupReflection(reflector) {
|
||||
if (_visited) return;
|
||||
_visited = true;
|
||||
reflector
|
||||
..registerType(HelloCmp, {
|
||||
'factory': () => new HelloCmp(),
|
||||
'parameters': const [const []],
|
||||
'annotations': const [
|
||||
const Component(selector: 'hello-app'),
|
||||
const Template(inline: '{{greeting}}')
|
||||
]
|
||||
});
|
||||
}
|
@ -7,6 +7,7 @@ import 'bind_generator/all_tests.dart' as bindGenerator;
|
||||
import 'directive_processor/all_tests.dart' as directiveProcessor;
|
||||
import 'integration/all_tests.dart' as integration;
|
||||
import 'reflection_remover/all_tests.dart' as reflectionRemover;
|
||||
import 'template_parser/all_tests.dart' as templateParser;
|
||||
|
||||
main() {
|
||||
useVMConfiguration();
|
||||
@ -14,4 +15,5 @@ main() {
|
||||
group('Directive Processor', directiveProcessor.allTests);
|
||||
group('Reflection Remover', reflectionRemover.allTests);
|
||||
group('Transformer Pipeline', integration.allTests);
|
||||
group('Template Parser', templateParser.allTests);
|
||||
}
|
||||
|
Reference in New Issue
Block a user