| Index: pkg/mdv/test/binding_syntax_test.dart
|
| diff --git a/pkg/mdv/test/binding_syntax_test.dart b/pkg/mdv/test/binding_syntax_test.dart
|
| index e94d0af4b639fef876385ffacc9330580684032c..9ef9c68580123378701e06350d013bccc41276d4 100644
|
| --- a/pkg/mdv/test/binding_syntax_test.dart
|
| +++ b/pkg/mdv/test/binding_syntax_test.dart
|
| @@ -97,6 +97,23 @@ syntaxTests(FooBarModel fooModel([foo, bar])) {
|
| ]);
|
| });
|
|
|
| + observeTest('getInstanceModel - reorder instances', () {
|
| + var model = toObservable([0, 1, 2]);
|
| +
|
| + var div = createTestHtml('<template repeat syntax="Test">{{}}</template>');
|
| + var template = div.firstChild;
|
| + var delegate = new TestInstanceModelSyntax();
|
| +
|
| + recursivelySetTemplateModel(div, model, delegate);
|
| + performMicrotaskCheckpoint();
|
| + expect(delegate.count, 3);
|
| +
|
| + // Note: intentionally mutate in place.
|
| + model.replaceRange(0, model.length, model.reversed.toList());
|
| + performMicrotaskCheckpoint();
|
| + expect(delegate.count, 3);
|
| + });
|
| +
|
| observeTest('Basic', () {
|
| var model = fooModel(2, 4);
|
| var div = createTestHtml(
|
| @@ -134,6 +151,14 @@ class TestModelSyntax extends BindingDelegate {
|
| }
|
| }
|
|
|
| +class TestInstanceModelSyntax extends BindingDelegate {
|
| + int count = 0;
|
| + getInstanceModel(template, model) {
|
| + count++;
|
| + return model;
|
| + }
|
| +}
|
| +
|
| // Note: this isn't a very smart whitespace handler. A smarter one would only
|
| // trim indentation, not all whitespace.
|
| // See "trimOrCompact" in the web_ui Pub package.
|
|
|