Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(923)

Unified Diff: pkg/mdv/test/template_element_test.dart

Issue 19663011: Custom Syntax's are now enabled via template.bindingDelegate = (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/mdv/test/template_element_test.dart
diff --git a/pkg/mdv/test/template_element_test.dart b/pkg/mdv/test/template_element_test.dart
index 7506f721ad8f30951501addbb4fbcdfecbd8d30f..fb640c9127498e9eef81ffad0b01e193998b0442 100644
--- a/pkg/mdv/test/template_element_test.dart
+++ b/pkg/mdv/test/template_element_test.dart
@@ -63,16 +63,6 @@ templateElementTests() {
return root;
}
- recursivelySetTemplateModel(element, model) {
- for (var node in element.queryAll('*')) {
- if (node.isTemplate) node.model = model;
- }
- }
-
- dispatchEvent(type, target) {
- target.dispatchEvent(new Event(type, cancelable: false));
- }
-
var expando = new Expando('observeTest');
void addExpandos(node) {
while (node != null) {
@@ -1581,35 +1571,30 @@ templateElementTests() {
'</template>');
var syntax = new UnbindingInNestedBindSyntax();
- TemplateElement.syntax['testHelper'] = syntax;
- try {
- var model = toSymbolMap({
- 'outer': {
- 'inner': {
- 'age': 42
- }
+ var model = toSymbolMap({
+ 'outer': {
+ 'inner': {
+ 'age': 42
}
- });
+ }
+ });
- recursivelySetTemplateModel(div, model);
+ recursivelySetTemplateModel(div, model, syntax);
- deliverChanges(model);
- expect(syntax.count, 1);
+ deliverChanges(model);
+ expect(syntax.count, 1);
- var inner = model[sym('outer')][sym('inner')];
- model[sym('outer')] = null;
+ var inner = model[sym('outer')][sym('inner')];
+ model[sym('outer')] = null;
- deliverChanges(model);
- expect(syntax.count, 1);
+ deliverChanges(model);
+ expect(syntax.count, 1);
- model[sym('outer')] = toSymbols({'inner': {'age': 2}});
- syntax.expectedAge = 2;
+ model[sym('outer')] = toSymbols({'inner': {'age': 2}});
+ syntax.expectedAge = 2;
- deliverChanges(model);
- expect(syntax.count, 2);
- } finally {
- TemplateElement.syntax.remove('testHelper');
- }
+ deliverChanges(model);
+ expect(syntax.count, 2);
});
// https://github.com/toolkitchen/mdv/issues/8
@@ -1624,28 +1609,22 @@ templateElementTests() {
});
observeTest('CreateInstance', () {
- TemplateElement.syntax['Test'] = new TestBindingSyntax();
- try {
- var div = createTestHtml(
- '<template bind="{{a}}">'
- '<template bind="{{b}}">'
- '{{ foo }}:{{ replaceme }}'
- '</template>'
- '</template>');
- var outer = div.nodes.first;
- var model = toSymbolMap({'b': {'foo': 'bar'}});
+ var div = createTestHtml(
+ '<template bind="{{a}}">'
+ '<template bind="{{b}}">'
+ '{{ foo }}:{{ replaceme }}'
+ '</template>'
+ '</template>');
+ var outer = div.nodes.first;
+ var model = toSymbolMap({'b': {'foo': 'bar'}});
- var host = new DivElement();
- var instance = outer.createInstance(model, 'Test');
- expect(outer.content.nodes.first, instance.nodes.first.ref);
- expect(instance.firstChild.attributes['syntax'], 'Test');
+ var host = new DivElement();
+ var instance = outer.createInstance(model, new TestBindingSyntax());
+ expect(outer.content.nodes.first, instance.nodes.first.ref);
- host.append(instance);
- performMicrotaskCheckpoint();
- expect(host.firstChild.nextNode.text, 'bar:replaced');
- } finally {
- TemplateElement.syntax.remove('Test');
- }
+ host.append(instance);
+ performMicrotaskCheckpoint();
+ expect(host.firstChild.nextNode.text, 'bar:replaced');
});
observeTest('Bootstrap', () {
@@ -1700,14 +1679,14 @@ templateElementTests() {
});
}
-class TestBindingSyntax extends CustomBindingSyntax {
+class TestBindingSyntax extends BindingDelegate {
getBinding(model, String path, name, node) {
if (path.trim() == 'replaceme') return new ObservableBox('replaced');
return null;
}
}
-class UnbindingInNestedBindSyntax extends CustomBindingSyntax {
+class UnbindingInNestedBindSyntax extends BindingDelegate {
int expectedAge = 42;
int count = 0;

Powered by Google App Engine
This is Rietveld 408576698