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

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

Issue 34453003: Rename mdv -> template_binding, remove experiemntal apis from dart:html (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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
« no previous file with comments | « pkg/template_binding/test/node_bindings_test.dart ('k') | pkg/template_binding/test/utils.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/template_binding/test/template_element_test.dart
diff --git a/pkg/mdv/test/template_element_test.dart b/pkg/template_binding/test/template_element_test.dart
similarity index 95%
rename from pkg/mdv/test/template_element_test.dart
rename to pkg/template_binding/test/template_element_test.dart
index a39ad6251c807e04c8e456f7b6db8dfd912c4930..0aff2dc50c9cff25569497b7e6a156ce963ef8e6 100644
--- a/pkg/mdv/test/template_element_test.dart
+++ b/pkg/template_binding/test/template_element_test.dart
@@ -2,17 +2,17 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-library template_element_test;
+library template_binding.test.template_element_test;
import 'dart:async';
import 'dart:collection';
import 'dart:html';
import 'dart:math' as math;
-import 'package:mdv/mdv.dart' as mdv;
import 'package:observe/observe.dart';
+import 'package:template_binding/template_binding.dart';
import 'package:unittest/html_config.dart';
import 'package:unittest/unittest.dart';
-import 'mdv_test_utils.dart';
+import 'utils.dart';
// Note: this file ported from
// https://github.com/toolkitchen/mdv/blob/master/tests/template_element.js
@@ -21,14 +21,11 @@ import 'mdv_test_utils.dart';
// look for "assertNodesAre".
main() {
- mdv.initialize();
useHtmlConfiguration();
group('Template Element', templateElementTests);
}
templateElementTests() {
- var testDiv;
-
setUp(() {
document.body.append(testDiv = new DivElement());
});
@@ -38,31 +35,6 @@ templateElementTests() {
testDiv = null;
});
- createTestHtml(s) {
- var div = new DivElement();
- div.setInnerHtml(s, treeSanitizer: new NullTreeSanitizer());
- testDiv.append(div);
-
- for (var node in div.queryAll('*')) {
- if (node.isTemplate) TemplateElement.decorate(node);
- }
-
- return div;
- }
-
- createShadowTestHtml(s) {
- var div = new DivElement();
- var root = div.createShadowRoot();
- root.innerHtml = s;
- testDiv.append(div);
-
- for (var node in root.queryAll('*')) {
- if (node.isTemplate) TemplateElement.decorate(node);
- }
-
- return root;
- }
-
var expando = new Expando('observeTest');
void addExpandos(node) {
while (node != null) {
@@ -417,7 +389,8 @@ templateElementTests() {
observeTest('Removal from iteration needs to unbind', () {
var div = createTestHtml(
'<template repeat="{{}}"><a>{{v}}</a></template>');
- var model = toObservable([{'v': 0}, {'v': 1}, {'v': 2}, {'v': 3}, {'v': 4}]);
+ var model = toObservable([{'v': 0}, {'v': 1}, {'v': 2}, {'v': 3},
+ {'v': 4}]);
recursivelySetTemplateModel(div, model);
deliverChanges(model);
@@ -583,7 +556,7 @@ templateElementTests() {
observeTest('DefaultStyles', () {
var t = new Element.tag('template');
- TemplateElement.decorate(t);
+ TemplateBindExtension.decorate(t);
document.body.append(t);
expect(t.getComputedStyle().display, 'none');
@@ -609,14 +582,15 @@ templateElementTests() {
var t = div.nodes.first;
var model = toObservable({'name': 'Leela'});
- t.bind('bind', model, '');
+ nodeBind(t).bind('bind', model, '');
deliverChanges(model);
expect(div.nodes[1].text, 'Hi Leela');
});
observeTest('BindPlaceHolderHasNewLine', () {
- var div = createTestHtml('<template bind="{{}}">Hi {{\nname\n}}</template>');
+ var div = createTestHtml(
+ '<template bind="{{}}">Hi {{\nname\n}}</template>');
var model = toObservable({'name': 'Leela'});
recursivelySetTemplateModel(div, model);
@@ -635,7 +609,7 @@ templateElementTests() {
var t1 = div.nodes.first;
var t2 = div.nodes[1];
- expect(t2.ref, t1);
+ expect(templateBind(t2).ref, t1);
var model = toObservable({'name': 'Fry'});
recursivelySetTemplateModel(div, model);
@@ -662,7 +636,7 @@ templateElementTests() {
expect(div.nodes.length, 2);
expect(t.nextNode.text, 'Hi Leela');
- t.bind('bind', model, 'XZ');
+ nodeBind(t).bind('bind', model, 'XZ');
deliverChanges(model);
expect(div.nodes.length, 2);
@@ -718,7 +692,8 @@ templateElementTests() {
m['contacts'].replaceRange(0, 1,
toObservable([{'name': 'Tab'}, {'name': 'Neal'}]));
deliverChanges(m);
- assertNodesAre(div, ['Hi Tab', 'Hi Neal', 'Hi Erik', 'Hi Dimitri', 'Hi Alex']);
+ assertNodesAre(div, ['Hi Tab', 'Hi Neal', 'Hi Erik', 'Hi Dimitri',
+ 'Hi Alex']);
m['contacts'] = toObservable([{'name': 'Alex'}]);
deliverChanges(m);
@@ -750,7 +725,8 @@ templateElementTests() {
});
observeTest('RepeatEmptyPath', () {
- var div = createTestHtml('<template repeat="{{}}">Hi {{ name }}</template>');
+ var div = createTestHtml(
+ '<template repeat="{{}}">Hi {{ name }}</template>');
var t = div.nodes.first;
var m = toObservable([
@@ -782,7 +758,8 @@ templateElementTests() {
m.replaceRange(0, 1, toObservable([{'name': 'Tab'}, {'name': 'Neal'}]));
deliverChanges(m);
- assertNodesAre(div, ['Hi Tab', 'Hi Neal', 'Hi Erik', 'Hi Dimitri', 'Hi Alex']);
+ assertNodesAre(div, ['Hi Tab', 'Hi Neal', 'Hi Erik', 'Hi Dimitri',
+ 'Hi Alex']);
m.length = 0;
m.add(toObservable({'name': 'Alex'}));
@@ -791,7 +768,8 @@ templateElementTests() {
});
observeTest('RepeatNullModel', () {
- var div = createTestHtml('<template repeat="{{}}">Hi {{ name }}</template>');
+ var div = createTestHtml(
+ '<template repeat="{{}}">Hi {{ name }}</template>');
var t = div.nodes.first;
var m = null;
@@ -808,7 +786,8 @@ templateElementTests() {
});
observeTest('RepeatReuse', () {
- var div = createTestHtml('<template repeat="{{}}">Hi {{ name }}</template>');
+ var div = createTestHtml(
+ '<template repeat="{{}}">Hi {{ name }}</template>');
var t = div.nodes.first;
var m = toObservable([
@@ -860,7 +839,7 @@ templateElementTests() {
var m = toObservable({
'a': true
});
- t.bind('bind', m, '');
+ nodeBind(t).bind('bind', m, '');
deliverChanges(m);
var instanceInput = t.nextNode;
@@ -1124,7 +1103,8 @@ templateElementTests() {
}));
}));
expect(select.nodes[0].tagName, 'TEMPLATE');
- expect(select.nodes[0].ref.content.nodes[0].tagName, 'OPTGROUP');
+ expect(templateBind(select.nodes[0]).ref.content.nodes[0].tagName,
+ 'OPTGROUP');
var optgroup = select.nodes[1];
expect(optgroup.nodes[0].tagName, 'TEMPLATE');
@@ -1207,8 +1187,8 @@ templateElementTests() {
expect(tbody.nodes[2].nodes[1].text, '2');
expect(tbody.nodes[2].nodes[2].text, '3');
- // Asset the 'class' binding is retained on the semantic template (just check
- // the last one).
+ // Asset the 'class' binding is retained on the semantic template (just
+ // check the last one).
expect(tbody.nodes[2].nodes[2].attributes['class'], '3');
});
@@ -1428,7 +1408,7 @@ templateElementTests() {
observer.observe(div, childList: true);
var template = div.firstChild;
- template.bind('repeat', toObservable(m.toList()), '');
+ nodeBind(template).bind('repeat', toObservable(m.toList()), '');
performMicrotaskCheckpoint();
var records = observer.takeRecords();
expect(records.length, 0);
@@ -1473,16 +1453,17 @@ templateElementTests() {
expect(div.nodes.length, 2);
expect(div.nodes[1].text, '3');
- template.unbind('bind');
- template.bind('repeat', m, 'a');
+ nodeBind(template)
+ ..unbind('bind')
+ ..bind('repeat', m, 'a');
deliverChanges(m);
expect(div.nodes.length, 4);
expect(div.nodes[1].text, '0');
expect(div.nodes[2].text, '1');
expect(div.nodes[3].text, '2');
- template.unbind('repeat');
- template.bind('bind', m, 'a.1.b');
+ nodeBind(template).unbind('repeat');
+ nodeBind(template).bind('bind', m, 'a.1.b');
deliverChanges(m);
expect(div.nodes.length, 2);
@@ -1570,7 +1551,7 @@ templateElementTests() {
var model = toObservable({'name': 'Leela'});
var template = new Element.html('<template>Hi {{ name }}</template>');
var root = createShadowTestHtml('');
- root.nodes.add(template.createInstance(model));
+ root.nodes.add(templateBind(template).createInstance(model));
performMicrotaskCheckpoint();
expect(root.text, 'Hi Leela');
@@ -1645,12 +1626,13 @@ templateElementTests() {
'{{ foo }}:{{ replaceme }}'
'</template>'
'</template>');
- var outer = div.nodes.first;
+ var outer = templateBind(div.nodes.first);
var model = toObservable({'b': {'foo': 'bar'}});
var host = new DivElement();
var instance = outer.createInstance(model, new TestBindingSyntax());
- expect(outer.content.nodes.first, instance.nodes.first.ref);
+ expect(outer.content.nodes.first,
+ templateBind(instance.nodes.first).ref);
host.append(instance);
performMicrotaskCheckpoint();
@@ -1667,10 +1649,10 @@ templateElementTests() {
'</template>'
'</template>';
- TemplateElement.bootstrap(div);
- var template = div.nodes.first;
+ TemplateBindExtension.bootstrap(div);
+ var template = templateBind(div.nodes.first);
expect(template.content.nodes.length, 2);
- var template2 = template.content.nodes.first.nextNode;
+ var template2 = templateBind(template.content.nodes.first.nextNode);
expect(template2.content.nodes.length, 1);
expect(template2.content.nodes.first.text, 'Hello');
@@ -1683,32 +1665,13 @@ templateElementTests() {
'</template>'
'</template>';
- TemplateElement.bootstrap(template);
+ TemplateBindExtension.bootstrap(template);
template2 = template.content.nodes.first;
expect(template2.content.nodes.length, 2);
var template3 = template2.content.nodes.first.nextNode;
expect(template3.content.nodes.length, 1);
expect(template3.content.nodes.first.text, 'Hello');
});
-
- observeTest('instanceCreated hack', () {
- var called = false;
-
- callback(node) {
- called = true;
- expect(node.nodeType, Node.DOCUMENT_FRAGMENT_NODE);
- }
- mdv.instanceCreated.add(callback);
-
- var div = createTestHtml('<template bind="{{}}">Foo</template>');
- expect(called, false);
-
- recursivelySetTemplateModel(div, null);
- performMicrotaskCheckpoint();
- expect(called, true);
-
- mdv.instanceCreated.remove(callback);
- });
}
class TestBindingSyntax extends BindingDelegate {
@@ -1774,10 +1737,3 @@ _deepToSymbol(value) {
}
return value;
}
-
-/**
- * Sanitizer which does nothing.
- */
-class NullTreeSanitizer implements NodeTreeSanitizer {
- void sanitizeTree(Node node) {}
-}
« no previous file with comments | « pkg/template_binding/test/node_bindings_test.dart ('k') | pkg/template_binding/test/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698