| Index: pkg/mdv/test/node_bindings_test.dart
|
| diff --git a/pkg/mdv/test/node_bindings_test.dart b/pkg/mdv/test/node_bindings_test.dart
|
| index e97f3dcedbefdc88a0271c8e070903a7a0ca9ecc..7cd1e035b077062fab32f00ec9480db9ad7f5155 100644
|
| --- a/pkg/mdv/test/node_bindings_test.dart
|
| +++ b/pkg/mdv/test/node_bindings_test.dart
|
| @@ -10,7 +10,7 @@ import 'package:mdv/mdv.dart' as mdv;
|
| import 'package:observe/observe.dart';
|
| import 'package:unittest/html_config.dart';
|
| import 'package:unittest/unittest.dart';
|
| -import 'observe_utils.dart';
|
| +import 'mdv_test_utils.dart';
|
|
|
| // Note: this file ported from
|
| // https://github.com/toolkitchen/mdv/blob/master/tests/node_bindings.js
|
| @@ -39,25 +39,25 @@ nodeBindingTests() {
|
| target.dispatchEvent(new Event(type, cancelable: false));
|
| }
|
|
|
| - test('Text', () {
|
| + observeTest('Text', () {
|
| var text = new Text('hi');
|
| var model = toSymbolMap({'a': 1});
|
| text.bind('text', model, 'a');
|
| expect(text.text, '1');
|
|
|
| model[sym('a')] = 2;
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(text.text, '2');
|
|
|
| text.unbind('text');
|
| model[sym('a')] = 3;
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(text.text, '2');
|
|
|
| // TODO(rafaelw): Throw on binding to unavailable property?
|
| });
|
|
|
| - test('Element', () {
|
| + observeTest('Element', () {
|
| var element = new DivElement();
|
| var model = toSymbolMap({'a': 1, 'b': 2});
|
| element.bind('hidden?', model, 'a');
|
| @@ -68,23 +68,23 @@ nodeBindingTests() {
|
| expect(element.id, '2');
|
|
|
| model[sym('a')] = null;
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(element.attributes, isNot(contains('hidden')),
|
| reason: 'null is false-y');
|
|
|
| model[sym('a')] = false;
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(element.attributes, isNot(contains('hidden')));
|
|
|
| model[sym('a')] = 'foo';
|
| model[sym('b')] = 'x';
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(element.attributes, contains('hidden'));
|
| expect(element.attributes['hidden'], '');
|
| expect(element.id, 'x');
|
| });
|
|
|
| - test('Text Input', () {
|
| + observeTest('Text Input', () {
|
| var input = new InputElement();
|
| var model = toSymbolMap({'x': 42});
|
| input.bind('value', model, 'x');
|
| @@ -92,7 +92,7 @@ nodeBindingTests() {
|
|
|
| model[sym('x')] = 'Hi';
|
| expect(input.value, '42', reason: 'changes delivered async');
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(input.value, 'Hi');
|
|
|
| input.value = 'changed';
|
| @@ -107,11 +107,11 @@ nodeBindingTests() {
|
|
|
| input.bind('value', model, 'x');
|
| model[sym('x')] = null;
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(input.value, '');
|
| });
|
|
|
| - test('Radio Input', () {
|
| + observeTest('Radio Input', () {
|
| var input = new InputElement();
|
| input.type = 'radio';
|
| var model = toSymbolMap({'x': true});
|
| @@ -120,7 +120,7 @@ nodeBindingTests() {
|
|
|
| model[sym('x')] = false;
|
| expect(input.checked, true);
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(input.checked, false,reason: 'model change should update checked');
|
|
|
| input.checked = true;
|
| @@ -135,7 +135,7 @@ nodeBindingTests() {
|
| reason: 'disconnected binding should not fire');
|
| });
|
|
|
| - test('Checkbox Input', () {
|
| + observeTest('Checkbox Input', () {
|
| var input = new InputElement();
|
| testDiv.append(input);
|
| input.type = 'checkbox';
|
| @@ -145,12 +145,12 @@ nodeBindingTests() {
|
|
|
| model[sym('x')] = false;
|
| expect(input.checked, true, reason: 'changes delivered async');
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
| expect(input.checked, false);
|
|
|
| input.click();
|
| expect(model[sym('x')], true);
|
| - deliverChangeRecords();
|
| + performMicrotaskCheckpoint();
|
|
|
| input.click();
|
| expect(model[sym('x')], false);
|
|
|