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 library polymer.test.build.index_page_builder_test; | |
5 | |
6 import 'dart:async'; | |
7 import 'package:unittest/compact_vm_config.dart'; | |
8 import 'package:unittest/unittest.dart'; | |
9 import 'package:polymer/src/build/common.dart'; | |
10 import 'package:polymer/src/build/index_page_builder.dart'; | |
11 | |
12 import 'common.dart'; | |
13 | |
14 final phases = [[new IndexPageBuilder(new TransformOptions())]]; | |
15 | |
16 void main() { | |
17 useCompactVMConfiguration(); | |
18 | |
19 testPhases('outputs index pages', phases, { | |
20 'a|web/test.html': '<!DOCTYPE html><html></html>', | |
21 'a|web/test2.html': '<!DOCTYPE html><html></html>', | |
22 'a|web/foo/test3.html': '<!DOCTYPE html><html></html>', | |
23 'a|web/foo/bar/test4.html': '<!DOCTYPE html><html></html>', | |
24 'a|web/foobar/test5.html': '<!DOCTYPE html><html></html>', | |
25 }, { | |
26 'a|web/index.html': '<!DOCTYPE html><html><body>' | |
27 '<h1>Entry points</h1><ul>' | |
28 '<li><a href="test.html">test.html</a></li>' | |
29 '<li><a href="test2.html">test2.html</a></li>' | |
30 '<li><a href="foo/test3.html">foo/test3.html</a></li>' | |
31 '<li><a href="foo/bar/test4.html">foo/bar/test4.html</a></li>' | |
32 '<li><a href="foobar/test5.html">foobar/test5.html</a></li>' | |
33 '</ul></body></html>', | |
34 'a|web/foo/index.html': '<!DOCTYPE html><html><body>' | |
35 '<h1>Entry points</h1><ul>' | |
36 '<li><a href="test3.html">test3.html</a></li>' | |
37 '<li><a href="bar/test4.html">bar/test4.html</a></li>' | |
38 '</ul></body></html>', | |
39 'a|web/foo/bar/index.html': '<!DOCTYPE html><html><body>' | |
40 '<h1>Entry points</h1><ul>' | |
41 '<li><a href="test4.html">test4.html</a></li>' | |
42 '</ul></body></html>', | |
43 'a|web/foobar/index.html': '<!DOCTYPE html><html><body>' | |
44 '<h1>Entry points</h1><ul>' | |
45 '<li><a href="test5.html">test5.html</a></li>' | |
46 '</ul></body></html>', | |
47 }); | |
48 | |
49 testPhases('doesn\'t overwrite existing pages', phases, { | |
50 'a|web/index.html': '<!DOCTYPE html><html></html>', | |
51 'a|web/test.html': '<!DOCTYPE html><html></html>', | |
52 'a|web/foo/index.html': '<!DOCTYPE html><html></html>', | |
53 'a|web/foo/test.html': '<!DOCTYPE html><html></html>', | |
54 'a|web/foo/bar/index.html': '<!DOCTYPE html><html></html>', | |
55 'a|web/foo/bar/test.html': '<!DOCTYPE html><html></html>', | |
56 }, { | |
57 'a|web/index.html': '<!DOCTYPE html><html></html>', | |
58 'a|web/foo/index.html': '<!DOCTYPE html><html></html>', | |
59 'a|web/foo/bar/index.html': '<!DOCTYPE html><html></html>', | |
60 }); | |
61 | |
62 testPhases('can output pages while not overwriting existing ones', phases, { | |
63 'a|web/test.html': '<!DOCTYPE html><html></html>', | |
64 'a|web/test2.html': '<!DOCTYPE html><html></html>', | |
65 'a|web/foo/index.html': '<!DOCTYPE html><html></html>', | |
66 'a|web/foo/test3.html': '<!DOCTYPE html><html></html>', | |
67 'a|web/foo/bar/index.html': '<!DOCTYPE html><html></html>', | |
68 'a|web/foo/bar/test4.html': '<!DOCTYPE html><html></html>', | |
69 'a|web/foobar/test5.html': '<!DOCTYPE html><html></html>', | |
70 }, { | |
71 'a|web/index.html': '<!DOCTYPE html><html><body>' | |
72 '<h1>Entry points</h1><ul>' | |
73 '<li><a href="test.html">test.html</a></li>' | |
74 '<li><a href="test2.html">test2.html</a></li>' | |
75 '<li><a href="foo/index.html">foo/index.html</a></li>' | |
76 '<li><a href="foo/test3.html">foo/test3.html</a></li>' | |
77 '<li><a href="foo/bar/index.html">foo/bar/index.html</a></li>' | |
78 '<li><a href="foo/bar/test4.html">foo/bar/test4.html</a></li>' | |
79 '<li><a href="foobar/test5.html">foobar/test5.html</a></li>' | |
80 '</ul></body></html>', | |
81 'a|web/foo/index.html': '<!DOCTYPE html><html></html>', | |
82 'a|web/foo/bar/index.html': '<!DOCTYPE html><html></html>', | |
83 'a|web/foobar/index.html': '<!DOCTYPE html><html><body>' | |
84 '<h1>Entry points</h1><ul>' | |
85 '<li><a href="test5.html">test5.html</a></li>' | |
86 '</ul></body></html>', | |
87 }); | |
88 | |
89 final entryPointPhases = [ | |
90 [ | |
91 new IndexPageBuilder(new TransformOptions( | |
92 entryPoints: [ | |
93 'web/test1.html', | |
94 'test/test2.html', | |
95 'example/test3.html' | |
96 ])) | |
97 ] | |
98 ]; | |
99 | |
100 testPhases('can output files for any entry points', entryPointPhases, { | |
101 'a|web/test1.html': '<!DOCTYPE html><html></html>', | |
102 'a|test/test2.html': '<!DOCTYPE html><html></html>', | |
103 'a|example/test3.html': '<!DOCTYPE html><html></html>', | |
104 }, { | |
105 'a|web/index.html': '<!DOCTYPE html><html><body>' | |
106 '<h1>Entry points</h1><ul>' | |
107 '<li><a href="test1.html">test1.html</a></li>' | |
108 '</ul></body></html>', | |
109 'a|test/index.html': '<!DOCTYPE html><html><body>' | |
110 '<h1>Entry points</h1><ul>' | |
111 '<li><a href="test2.html">test2.html</a></li>' | |
112 '</ul></body></html>', | |
113 'a|example/index.html': '<!DOCTYPE html><html><body>' | |
114 '<h1>Entry points</h1><ul>' | |
115 '<li><a href="test3.html">test3.html</a></li>' | |
116 '</ul></body></html>', | |
117 }); | |
118 } | |
OLD | NEW |