| 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 library polymer.test.build.common; | 5 library polymer.test.build.common; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:barback/barback.dart'; | 9 import 'package:barback/barback.dart'; |
| 10 import 'package:stack_trace/stack_trace.dart'; | 10 import 'package:stack_trace/stack_trace.dart'; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 // Ignore info messages. | 68 // Ignore info messages. |
| 69 if (entry.level == LogLevel.INFO) return; | 69 if (entry.level == LogLevel.INFO) return; |
| 70 if (entry.level == LogLevel.ERROR) errorSeen = true; | 70 if (entry.level == LogLevel.ERROR) errorSeen = true; |
| 71 // We only check messages when an expectation is provided. | 71 // We only check messages when an expectation is provided. |
| 72 if (messages == null) return; | 72 if (messages == null) return; |
| 73 | 73 |
| 74 var msg = '${entry.level.name.toLowerCase()}: ${entry.message}'; | 74 var msg = '${entry.level.name.toLowerCase()}: ${entry.message}'; |
| 75 var span = entry.span; | 75 var span = entry.span; |
| 76 var spanInfo = span == null ? '' : | 76 var spanInfo = span == null ? '' : |
| 77 ' (${span.sourceUrl} ${span.start.line} ${span.start.column})'; | 77 ' (${span.sourceUrl} ${span.start.line} ${span.start.column})'; |
| 78 expect(messagesSeen, lessThan(messages.length), | 78 var index = messagesSeen++; |
| 79 expect(messagesSeen, lessThanOrEqualTo(messages.length), |
| 79 reason: 'more messages than expected.\nMessage seen: $msg$spanInfo'); | 80 reason: 'more messages than expected.\nMessage seen: $msg$spanInfo'); |
| 80 expect('$msg$spanInfo', messages[messagesSeen++]); | 81 expect('$msg$spanInfo', messages[index]); |
| 81 }); | 82 }); |
| 82 } | 83 } |
| 83 | 84 |
| 84 void tearDown() { | 85 void tearDown() { |
| 85 errorSubscription.cancel(); | 86 errorSubscription.cancel(); |
| 86 resultSubscription.cancel(); | 87 resultSubscription.cancel(); |
| 87 logSubscription.cancel(); | 88 logSubscription.cancel(); |
| 88 } | 89 } |
| 89 | 90 |
| 90 /// Tells barback which files have changed, and thus anything that depends on | 91 /// Tells barback which files have changed, and thus anything that depends on |
| (...skipping 20 matching lines...) Expand all Loading... |
| 111 return barback.results.first.then((_) { | 112 return barback.results.first.then((_) { |
| 112 if (files == null) return null; | 113 if (files == null) return null; |
| 113 var futures = []; | 114 var futures = []; |
| 114 files.forEach((k, v) { | 115 files.forEach((k, v) { |
| 115 futures.add(check(k, v)); | 116 futures.add(check(k, v)); |
| 116 }); | 117 }); |
| 117 return Future.wait(futures); | 118 return Future.wait(futures); |
| 118 }).then((_) { | 119 }).then((_) { |
| 119 // We only check messages when an expectation is provided. | 120 // We only check messages when an expectation is provided. |
| 120 if (messages == null) return; | 121 if (messages == null) return; |
| 121 expect(messages.length, messagesSeen, | 122 expect(messagesSeen, messages.length, |
| 122 reason: 'less messages than expected'); | 123 reason: 'less messages than expected'); |
| 123 }); | 124 }); |
| 124 } | 125 } |
| 125 } | 126 } |
| 126 | 127 |
| 127 testPhases(String testName, List<List<Transformer>> phases, | 128 testPhases(String testName, List<List<Transformer>> phases, |
| 128 Map<String, String> inputFiles, Map<String, String> expectedFiles, | 129 Map<String, String> inputFiles, Map<String, String> expectedFiles, |
| 129 [List<String> expectedMessages, bool solo = false]) { | 130 [List<String> expectedMessages, bool solo = false]) { |
| 130 | 131 |
| 131 // Include mock versions of the polymer library that can be used to test | 132 // Include mock versions of the polymer library that can be used to test |
| (...skipping 21 matching lines...) Expand all Loading... |
| 153 const EMPTY_DATA = '{"experimental_bootstrap":false,"script_ids":[]}'; | 154 const EMPTY_DATA = '{"experimental_bootstrap":false,"script_ids":[]}'; |
| 154 | 155 |
| 155 const WEB_COMPONENTS_TAG = | 156 const WEB_COMPONENTS_TAG = |
| 156 '<script src="packages/web_components/platform.js"></script>\n' | 157 '<script src="packages/web_components/platform.js"></script>\n' |
| 157 '<script src="packages/web_components/dart_support.js"></script>\n'; | 158 '<script src="packages/web_components/dart_support.js"></script>\n'; |
| 158 | 159 |
| 159 const INTEROP_TAG = '<script src="packages/browser/interop.js"></script>\n'; | 160 const INTEROP_TAG = '<script src="packages/browser/interop.js"></script>\n'; |
| 160 const DART_JS_TAG = '<script src="packages/browser/dart.js"></script>'; | 161 const DART_JS_TAG = '<script src="packages/browser/dart.js"></script>'; |
| 161 | 162 |
| 162 const POLYMER_MOCKS = const { | 163 const POLYMER_MOCKS = const { |
| 163 'polymer|lib/polymer.html': '<!DOCTYPE html><html>', | 164 'polymer|lib/src/js/polymer/polymer.html': '<!DOCTYPE html><html>', |
| 164 'polymer|lib/polymer_experimental.html': '<!DOCTYPE html><html>', | 165 'polymer|lib/polymer.html': '<!DOCTYPE html><html>' |
| 166 '<link rel="import" href="src/js/polymer/polymer.html">', |
| 167 'polymer|lib/polymer_experimental.html': |
| 168 '<!DOCTYPE html><html>' |
| 169 '<link rel="import" href="polymer.html">', |
| 165 'polymer|lib/polymer.dart': | 170 'polymer|lib/polymer.dart': |
| 166 'library polymer;\n' | 171 'library polymer;\n' |
| 167 'import "dart:html";\n' | 172 'import "dart:html";\n' |
| 168 'export "package:observe/observe.dart";\n' // for @observable | 173 'export "package:observe/observe.dart";\n' // for @observable |
| 169 'part "src/loader.dart";\n' // for @CustomTag and @initMethod | 174 'part "src/loader.dart";\n' // for @CustomTag and @initMethod |
| 170 'part "src/instance.dart";\n', // for @published and @ObserveProperty | 175 'part "src/instance.dart";\n', // for @published and @ObserveProperty |
| 171 | 176 |
| 172 'polymer|lib/src/loader.dart': | 177 'polymer|lib/src/loader.dart': |
| 173 'part of polymer;\n' | 178 'part of polymer;\n' |
| 174 'class CustomTag {\n' | 179 'class CustomTag {\n' |
| (...skipping 18 matching lines...) Expand all Loading... |
| 193 | 198 |
| 194 'observe|lib/observe.dart': | 199 'observe|lib/observe.dart': |
| 195 'library observe;\n' | 200 'library observe;\n' |
| 196 'export "src/metadata.dart";', | 201 'export "src/metadata.dart";', |
| 197 | 202 |
| 198 'observe|lib/src/metadata.dart': | 203 'observe|lib/src/metadata.dart': |
| 199 'library observe.src.metadata;\n' | 204 'library observe.src.metadata;\n' |
| 200 'class ObservableProperty { const ObservableProperty(); }\n' | 205 'class ObservableProperty { const ObservableProperty(); }\n' |
| 201 'const observable = const ObservableProperty();\n', | 206 'const observable = const ObservableProperty();\n', |
| 202 }; | 207 }; |
| OLD | NEW |