| 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 | 4 |
| 5 import 'dart:html'; | 5 import 'dart:html'; |
| 6 import 'package:unittest/unittest.dart'; | 6 import 'package:unittest/unittest.dart'; |
| 7 import 'package:observatory/src/elements/curly_block.dart'; | 7 import 'package:observatory/src/elements/curly_block.dart'; |
| 8 | 8 |
| 9 main() { | 9 main() { |
| 10 CurlyBlockElement.tag.ensureRegistration(); | 10 CurlyBlockElement.tag.ensureRegistration(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 }); | 62 }); |
| 63 test('disabled', () { | 63 test('disabled', () { |
| 64 final e = new CurlyBlockElement(disabled: true); | 64 final e = new CurlyBlockElement(disabled: true); |
| 65 expect(e, isNotNull, reason: 'element correctly created'); | 65 expect(e, isNotNull, reason: 'element correctly created'); |
| 66 expect(e.expanded, isFalse); | 66 expect(e.expanded, isFalse); |
| 67 expect(e.disabled, isTrue); | 67 expect(e.disabled, isTrue); |
| 68 }); | 68 }); |
| 69 }); | 69 }); |
| 70 test('elements created', () async { | 70 test('elements created', () async { |
| 71 final e = new CurlyBlockElement(); | 71 final e = new CurlyBlockElement(); |
| 72 expect(e.shadowRoot, isNotNull, reason: 'shadowRoot is created'); | 72 expect(e.children.length, isZero, reason: 'is empty'); |
| 73 document.body.append(e); | 73 document.body.append(e); |
| 74 await e.onRendered.first; | 74 await e.onRendered.first; |
| 75 expect(e.shadowRoot.children.length, isNonZero, | 75 expect(e.children.length, isNonZero, |
| 76 reason: 'shadowRoot has elements'); | 76 reason: 'has elements'); |
| 77 e.remove(); | 77 e.remove(); |
| 78 await e.onRendered.first; | 78 await e.onRendered.first; |
| 79 expect(e.shadowRoot.children.length, isZero, reason: 'shadowRoot is empty'); | 79 expect(e.children.length, isZero, reason: 'is empty'); |
| 80 }); | 80 }); |
| 81 group('content', () { | 81 group('content', () { |
| 82 CurlyBlockElement e; | 82 CurlyBlockElement e; |
| 83 setUp(() async { | 83 setUp(() async { |
| 84 e = new CurlyBlockElement(); | 84 e = new CurlyBlockElement(); |
| 85 e.content = [document.createElement('content')]; |
| 85 document.body.append(e); | 86 document.body.append(e); |
| 86 await e.onRendered.first; | 87 await e.onRendered.first; |
| 87 }); | 88 }); |
| 88 tearDown(() { | 89 tearDown(() { |
| 89 e.remove(); | 90 e.remove(); |
| 90 }); | 91 }); |
| 91 test('toggles visibility', () async { | 92 test('toggles visibility', () async { |
| 92 expect(e.shadowRoot.querySelector('content'), isNull); | 93 expect(e.querySelector('content'), isNull); |
| 93 e.toggle(); | 94 e.toggle(); |
| 94 await e.onRendered.first; | 95 await e.onRendered.first; |
| 95 expect(e.shadowRoot.querySelector('content'), isNotNull); | 96 expect(e.querySelector('content'), isNotNull); |
| 96 e.toggle(); | 97 e.toggle(); |
| 97 await e.onRendered.first; | 98 await e.onRendered.first; |
| 98 expect(e.shadowRoot.querySelector('content'), isNull); | 99 expect(e.querySelector('content'), isNull); |
| 99 e.remove(); | 100 e.remove(); |
| 100 }); | 101 }); |
| 101 test('toggles visibility (manually)', () async { | 102 test('toggles visibility (manually)', () async { |
| 102 expect(e.shadowRoot.querySelector('content'), isNull); | 103 expect(e.querySelector('content'), isNull); |
| 103 e.expanded = true; | 104 e.expanded = true; |
| 104 await e.onRendered.first; | 105 await e.onRendered.first; |
| 105 expect(e.shadowRoot.querySelector('content'), isNotNull); | 106 expect(e.querySelector('content'), isNotNull); |
| 106 e.expanded = false; | 107 e.expanded = false; |
| 107 await e.onRendered.first; | 108 await e.onRendered.first; |
| 108 expect(e.shadowRoot.querySelector('content'), isNull); | 109 expect(e.querySelector('content'), isNull); |
| 109 e.remove(); | 110 e.remove(); |
| 110 }); | 111 }); |
| 111 test('does not toggle if disabled', () async { | 112 test('does not toggle if disabled', () async { |
| 112 e.disabled = true; | 113 e.disabled = true; |
| 113 await e.onRendered.first; | 114 await e.onRendered.first; |
| 114 expect(e.expanded, isFalse); | 115 expect(e.expanded, isFalse); |
| 115 expect(e.shadowRoot.querySelector('content'), isNull); | 116 expect(e.querySelector('content'), isNull); |
| 116 e.toggle(); | 117 e.toggle(); |
| 117 await e.onRendered.first; | 118 await e.onRendered.first; |
| 118 expect(e.expanded, isFalse); | 119 expect(e.expanded, isFalse); |
| 119 expect(e.shadowRoot.querySelector('content'), isNull); | 120 expect(e.querySelector('content'), isNull); |
| 120 e.disabled = false; | 121 e.disabled = false; |
| 121 e.toggle(); | 122 e.toggle(); |
| 122 await e.onRendered.first; | 123 await e.onRendered.first; |
| 123 expect(e.expanded, isTrue); | 124 expect(e.expanded, isTrue); |
| 124 expect(e.shadowRoot.querySelector('content'), isNotNull); | 125 expect(e.querySelector('content'), isNotNull); |
| 125 e.disabled = true; | 126 e.disabled = true; |
| 126 e.toggle(); | 127 e.toggle(); |
| 127 await e.onRendered.first; | 128 await e.onRendered.first; |
| 128 expect(e.expanded, isTrue); | 129 expect(e.expanded, isTrue); |
| 129 expect(e.shadowRoot.querySelector('content'), isNotNull); | 130 expect(e.querySelector('content'), isNotNull); |
| 130 e.remove(); | 131 e.remove(); |
| 131 }); | 132 }); |
| 132 test('toggles visibility (manually) if disabled', () async { | 133 test('toggles visibility (manually) if disabled', () async { |
| 133 e.disabled = true; | 134 e.disabled = true; |
| 134 await e.onRendered.first; | 135 await e.onRendered.first; |
| 135 expect(e.shadowRoot.querySelector('content'), isNull); | 136 expect(e.querySelector('content'), isNull); |
| 136 e.expanded = true; | 137 e.expanded = true; |
| 137 await e.onRendered.first; | 138 await e.onRendered.first; |
| 138 expect(e.shadowRoot.querySelector('content'), isNotNull); | 139 expect(e.querySelector('content'), isNotNull); |
| 139 e.expanded = false; | 140 e.expanded = false; |
| 140 await e.onRendered.first; | 141 await e.onRendered.first; |
| 141 expect(e.shadowRoot.querySelector('content'), isNull); | 142 expect(e.querySelector('content'), isNull); |
| 142 e.remove(); | 143 e.remove(); |
| 143 }); | 144 }); |
| 144 }); | 145 }); |
| 145 group('event', () { | 146 group('event', () { |
| 146 CurlyBlockElement e; | 147 CurlyBlockElement e; |
| 147 setUp(() async { | 148 setUp(() async { |
| 148 e = new CurlyBlockElement(); | 149 e = new CurlyBlockElement(); |
| 149 document.body.append(e); | 150 document.body.append(e); |
| 150 await e.onRendered.first; | 151 await e.onRendered.first; |
| 151 }); | 152 }); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 169 e.expanded = !e.expanded; | 170 e.expanded = !e.expanded; |
| 170 await e.onRendered.first; | 171 await e.onRendered.first; |
| 171 }); | 172 }); |
| 172 test('does not fire if setting same expanded value', () async { | 173 test('does not fire if setting same expanded value', () async { |
| 173 e.onToggle.listen(expectAsync((_){}, count: 0)); | 174 e.onToggle.listen(expectAsync((_){}, count: 0)); |
| 174 e.expanded = e.expanded; | 175 e.expanded = e.expanded; |
| 175 await e.onRendered.first; | 176 await e.onRendered.first; |
| 176 }); | 177 }); |
| 177 }); | 178 }); |
| 178 } | 179 } |
| OLD | NEW |