| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library MeasurementTest; | 5 library MeasurementTest; |
| 6 import '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
| 7 import '../../pkg/unittest/lib/html_config.dart'; | 7 import '../../pkg/unittest/lib/html_config.dart'; |
| 8 import 'dart:html'; | 8 import 'dart:html'; |
| 9 | 9 |
| 10 main() { | 10 main() { |
| 11 useHtmlConfiguration(); | 11 useHtmlConfiguration(); |
| 12 | 12 |
| 13 test('measurement is async but before setTimout 0', () { | 13 test('measurement is async but before setTimout 0', () { |
| 14 final element = document.body; | 14 final element = document.body; |
| 15 bool fnComplete = false; | 15 bool fnComplete = false; |
| 16 bool timeout0 = false; | 16 bool timeout0 = false; |
| 17 window.setTimeout(() { timeout0 = true; }, 0); | 17 window.setTimeout(() { timeout0 = true; }, 0); |
| 18 final computedStyle = element.computedStyle; | 18 final computedStyle = element.computedStyle; |
| 19 computedStyle.then(expectAsync1((style) { | 19 computedStyle.then(expectAsync1((style) { |
| 20 expect(style.getPropertyValue('left'), equals('auto')); | 20 expect(style.getPropertyValue('left'), equals('auto')); |
| 21 expect(fnComplete, isTrue); | 21 expect(fnComplete, isTrue); |
| 22 expect(timeout0, isFalse); | 22 expect(timeout0, isFalse); |
| 23 })); | 23 })); |
| 24 expect(computedStyle.isComplete, isFalse); | |
| 25 fnComplete = true; | 24 fnComplete = true; |
| 26 }); | 25 }); |
| 27 | 26 |
| 28 test('requestLayoutFrame', () { | 27 test('requestLayoutFrame', () { |
| 29 var computedStyle; | 28 var computedStyle; |
| 29 var computedStyleCalled = false; |
| 30 window.requestLayoutFrame(expectAsync0(() { | 30 window.requestLayoutFrame(expectAsync0(() { |
| 31 expect(computedStyle.isComplete, true); | 31 expect(computedStyleCalled, true); |
| 32 })); | 32 })); |
| 33 | 33 |
| 34 final element = document.body; | 34 final element = document.body; |
| 35 computedStyle = element.computedStyle; | 35 computedStyle = element.computedStyle; |
| 36 expect(computedStyle.isComplete, isFalse); | 36 computedStyle.then(expectAsync1((style) { |
| 37 computedStyleCalled = true; |
| 38 })); |
| 37 }); | 39 }); |
| 38 | 40 |
| 39 // TODO(jacobr): add more tests that the results return by measurement | 41 // TODO(jacobr): add more tests that the results return by measurement |
| 40 // functions are correct. | 42 // functions are correct. |
| 41 } | 43 } |
| OLD | NEW |