OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 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 | 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:polymer/polymer.dart'; | 6 import 'package:polymer/polymer.dart'; |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 import 'package:unittest/html_config.dart'; | 8 import 'package:unittest/html_config.dart'; |
9 | 9 |
10 /** | 10 /// This test runs the news example and checks the state of the initial page. |
11 * This test runs the news example and checks the state of the initial page. | |
12 */ | |
13 main() { | 11 main() { |
14 initPolymer(); | 12 initPolymer(); |
15 useHtmlConfiguration(); | 13 useHtmlConfiguration(); |
16 | 14 |
17 extractLinks(nodes) => nodes.where((n) => n is Element) | 15 extractLinks(nodes) => nodes.where((n) => n is Element) |
18 .map((n) => n.query('a').href.split('/').last).toList(); | 16 .map((n) => n.query('a').href.split('/').last).toList(); |
19 | 17 |
20 test('initial state', () { | 18 test('initial state', () { |
21 final listComp = query('ul'); | 19 final listComp = query('ul'); |
22 final items = listComp.queryAll('li'); | 20 final items = listComp.queryAll('li'); |
23 expect(items.length, 6); | 21 expect(items.length, 6); |
24 expect(extractLinks(items), ['1', '2', '3', '4', '4', '5']); | 22 expect(extractLinks(items), ['1', '2', '3', '4', '4', '5']); |
25 expect(listComp is Polymer, true, reason: 'x-news should be created'); | 23 expect(listComp is Polymer, true, reason: 'x-news should be created'); |
26 | 24 |
27 final contents = listComp.shadowRoot.queryAll('content'); | 25 final contents = listComp.shadowRoot.queryAll('content'); |
28 expect(contents.length, 2, reason: 'news has 2 content tags'); | 26 expect(contents.length, 2, reason: 'news has 2 content tags'); |
29 expect(extractLinks(contents[0].getDistributedNodes()), | 27 expect(extractLinks(contents[0].getDistributedNodes()), |
30 ['3', '5'], reason: 'breaking stories first'); | 28 ['3', '5'], reason: 'breaking stories first'); |
31 expect(extractLinks(contents[1].getDistributedNodes()), | 29 expect(extractLinks(contents[1].getDistributedNodes()), |
32 ['1', '2', '4', '4'], reason: 'other stories after breaking stories'); | 30 ['1', '2', '4', '4'], reason: 'other stories after breaking stories'); |
33 }); | 31 }); |
34 } | 32 } |
OLD | NEW |