OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'dart:html'; | 4 import 'dart:html'; |
5 import 'package:unittest/unittest.dart'; | 5 import 'package:unittest/unittest.dart'; |
6 import 'package:observatory/mocks.dart'; | |
7 import 'package:observatory/models.dart' as M; | |
8 import 'package:observatory/src/elements/script_ref.dart'; | 6 import 'package:observatory/src/elements/script_ref.dart'; |
| 7 import '../mocks.dart'; |
9 | 8 |
10 main() { | 9 main() { |
11 ScriptRefElement.tag.ensureRegistration(); | 10 ScriptRefElement.tag.ensureRegistration(); |
12 | 11 |
13 final M.IsolateRef isolate = const IsolateRefMock(id: 'isolate-id'); | 12 const isolate = const IsolateRefMock(id: 'isolate-id'); |
14 final M.ScriptRef ref = const ScriptRefMock(id: 'script-id', | 13 const file = 'filename.dart'; |
15 uri: 'package/filename.dart'); | 14 const ref = const ScriptRefMock(id: 'script-id', uri: 'package/$file'); |
16 group('instantiation', () { | 15 group('instantiation', () { |
17 test('no position', () { | 16 test('no position', () { |
18 final ScriptRefElement e = new ScriptRefElement(isolate, ref); | 17 final e = new ScriptRefElement(isolate, ref); |
19 expect(e, isNotNull, reason: 'element correctly created'); | 18 expect(e, isNotNull, reason: 'element correctly created'); |
20 expect(e.isolate, equals(isolate)); | 19 expect(e.isolate, equals(isolate)); |
21 expect(e.script, equals(ref)); | 20 expect(e.script, equals(ref)); |
22 }); | 21 }); |
23 }); | 22 }); |
24 test('elements created after attachment', () async { | 23 test('elements created after attachment', () async { |
25 final ScriptRefElement e = new ScriptRefElement(isolate, ref); | 24 final e = new ScriptRefElement(isolate, ref); |
26 document.body.append(e); | 25 document.body.append(e); |
27 await e.onRendered.first; | 26 await e.onRendered.first; |
28 expect(e.children.length, isNonZero, reason: 'has elements'); | 27 expect(e.children.length, isNonZero, reason: 'has elements'); |
29 expect(e.innerHtml.contains(isolate.id), isTrue, | 28 expect(e.innerHtml.contains(isolate.id), isTrue, |
30 reason: 'no message in the component'); | 29 reason: 'no message in the component'); |
31 expect(e.innerHtml.contains('filename.dart'), isTrue, | 30 expect(e.innerHtml.contains(file), isTrue, |
32 reason: 'no message in the component'); | 31 reason: 'no message in the component'); |
33 e.remove(); | 32 e.remove(); |
34 await e.onRendered.first; | 33 await e.onRendered.first; |
35 expect(e.children.length, isZero, | 34 expect(e.children.length, isZero, |
36 reason: 'is empty'); | 35 reason: 'is empty'); |
37 }); | 36 }); |
38 } | 37 } |
OLD | NEW |