OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 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. |
| 4 |
| 5 import 'dart:async'; |
| 6 import 'dart:html'; |
| 7 import 'package:unittest/unittest.dart'; |
| 8 import 'package:unittest/html_config.dart'; |
| 9 import 'package:polymer/src/build/log_injector.dart'; |
| 10 |
| 11 |
| 12 main() { |
| 13 |
| 14 useHtmlConfiguration(); |
| 15 |
| 16 setUp(() => new LogInjector().injectLogs()); |
| 17 |
| 18 test('can inject a functioning log widget', () { |
| 19 var logsElement = document.querySelector(".build-logs"); |
| 20 expect(logsElement, isNotNull); |
| 21 |
| 22 var menuElements = logsElement.querySelectorAll(".menu > div"); |
| 23 expect(menuElements.length, 3); |
| 24 var contentElements = logsElement.querySelectorAll(".content > div"); |
| 25 expect(contentElements.length, 3); |
| 26 |
| 27 var expectedClasses = ['info', 'warning', 'error']; |
| 28 |
| 29 // Check initial setup. |
| 30 for (var i = 0; i < menuElements.length; ++i) { |
| 31 expect(menuElements[i].classes.contains(expectedClasses[i]), true); |
| 32 expect(menuElements[i].classes.contains('active'), false); |
| 33 expect(contentElements[i].classes.contains(expectedClasses[i]), true); |
| 34 expect(contentElements[i].classes.contains('active'), false); |
| 35 expect(contentElements[i].querySelectorAll('.log').length, 1); |
| 36 } |
| 37 |
| 38 // Test clicking each of the tabs. |
| 39 for (var i = 0; i < menuElements.length; ++i) { |
| 40 menuElements[i].click(); |
| 41 for (var j = 0; j < menuElements.length; ++j) { |
| 42 expect(menuElements[j].classes.contains('active'), j == i); |
| 43 expect(contentElements[j].classes.contains('active'), j == i); |
| 44 } |
| 45 } |
| 46 |
| 47 // Test toggling same tab. |
| 48 expect(menuElements[2].classes.contains('active'), true); |
| 49 menuElements[2].click(); |
| 50 expect(menuElements[2].classes.contains('active'), false); |
| 51 expect(contentElements[2].classes.contains('active'), false); |
| 52 }); |
| 53 } |
OLD | NEW |