| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer.test.src.task.html_test; | 5 library analyzer.test.src.task.html_test; |
| 6 | 6 |
| 7 import 'package:analyzer/src/generated/source.dart'; | 7 import 'package:analyzer/src/generated/source.dart'; |
| 8 import 'package:analyzer/src/task/html.dart'; | 8 import 'package:analyzer/src/task/html.dart'; |
| 9 import 'package:analyzer/task/general.dart'; | 9 import 'package:analyzer/task/general.dart'; |
| 10 import 'package:analyzer/task/html.dart'; | 10 import 'package:analyzer/task/html.dart'; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 | 60 |
| 61 test_descriptor() { | 61 test_descriptor() { |
| 62 TaskDescriptor descriptor = DartScriptsTask.DESCRIPTOR; | 62 TaskDescriptor descriptor = DartScriptsTask.DESCRIPTOR; |
| 63 expect(descriptor, isNotNull); | 63 expect(descriptor, isNotNull); |
| 64 } | 64 } |
| 65 | 65 |
| 66 void test_perform_embedded_source() { | 66 void test_perform_embedded_source() { |
| 67 String content = r''' | 67 String content = r''' |
| 68 void buttonPressed() {} | 68 void buttonPressed() {} |
| 69 '''; | 69 '''; |
| 70 AnalysisTarget target = newSource( | 70 AnalysisTarget target = newSource('/test.html', ''' |
| 71 '/test.html', | |
| 72 ''' | |
| 73 <!DOCTYPE html> | 71 <!DOCTYPE html> |
| 74 <html> | 72 <html> |
| 75 <head> | 73 <head> |
| 76 <script type='application/dart'>$content</script> | 74 <script type='application/dart'>$content</script> |
| 77 </head> | 75 </head> |
| 78 <body> | 76 <body> |
| 79 </body> | 77 </body> |
| 80 </html>'''); | 78 </html>'''); |
| 81 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 79 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 82 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); | 80 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); |
| 83 expect(outputs[DART_SCRIPTS], hasLength(1)); | 81 expect(outputs[DART_SCRIPTS], hasLength(1)); |
| 84 DartScript script = outputs[DART_SCRIPTS][0]; | 82 DartScript script = outputs[DART_SCRIPTS][0]; |
| 85 expect(script.fragments, hasLength(1)); | 83 expect(script.fragments, hasLength(1)); |
| 86 ScriptFragment fragment = script.fragments[0]; | 84 ScriptFragment fragment = script.fragments[0]; |
| 87 expect(fragment.content, content); | 85 expect(fragment.content, content); |
| 88 } | 86 } |
| 89 | 87 |
| 90 void test_perform_empty_source_reference() { | 88 void test_perform_empty_source_reference() { |
| 91 AnalysisTarget target = newSource( | 89 AnalysisTarget target = newSource('/test.html', r''' |
| 92 '/test.html', | |
| 93 r''' | |
| 94 <!DOCTYPE html> | 90 <!DOCTYPE html> |
| 95 <html> | 91 <html> |
| 96 <head> | 92 <head> |
| 97 <script type='application/dart' src=''/> | 93 <script type='application/dart' src=''/> |
| 98 </head> | 94 </head> |
| 99 <body> | 95 <body> |
| 100 </body> | 96 </body> |
| 101 </html>'''); | 97 </html>'''); |
| 102 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 98 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 103 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); | 99 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); |
| 104 expect(outputs[DART_SCRIPTS], hasLength(0)); | 100 expect(outputs[DART_SCRIPTS], hasLength(0)); |
| 105 } | 101 } |
| 106 | 102 |
| 107 void test_perform_invalid_source_reference() { | 103 void test_perform_invalid_source_reference() { |
| 108 AnalysisTarget target = newSource( | 104 AnalysisTarget target = newSource('/test.html', r''' |
| 109 '/test.html', | |
| 110 r''' | |
| 111 <!DOCTYPE html> | 105 <!DOCTYPE html> |
| 112 <html> | 106 <html> |
| 113 <head> | 107 <head> |
| 114 <script type='application/dart' src='an;invalid:[]uri'/> | 108 <script type='application/dart' src='an;invalid:[]uri'/> |
| 115 </head> | 109 </head> |
| 116 <body> | 110 <body> |
| 117 </body> | 111 </body> |
| 118 </html>'''); | 112 </html>'''); |
| 119 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 113 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 120 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); | 114 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); |
| 121 expect(outputs[DART_SCRIPTS], hasLength(0)); | 115 expect(outputs[DART_SCRIPTS], hasLength(0)); |
| 122 } | 116 } |
| 123 | 117 |
| 124 void test_perform_non_existing_source_reference() { | 118 void test_perform_non_existing_source_reference() { |
| 125 AnalysisTarget target = newSource( | 119 AnalysisTarget target = newSource('/test.html', r''' |
| 126 '/test.html', | |
| 127 r''' | |
| 128 <!DOCTYPE html> | 120 <!DOCTYPE html> |
| 129 <html> | 121 <html> |
| 130 <head> | 122 <head> |
| 131 <script type='application/dart' src='does/not/exist.dart'/> | 123 <script type='application/dart' src='does/not/exist.dart'/> |
| 132 </head> | 124 </head> |
| 133 <body> | 125 <body> |
| 134 </body> | 126 </body> |
| 135 </html>'''); | 127 </html>'''); |
| 136 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 128 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 137 expect(outputs[REFERENCED_LIBRARIES], hasLength(1)); | 129 expect(outputs[REFERENCED_LIBRARIES], hasLength(1)); |
| 138 expect(outputs[DART_SCRIPTS], hasLength(0)); | 130 expect(outputs[DART_SCRIPTS], hasLength(0)); |
| 139 } | 131 } |
| 140 | 132 |
| 141 test_perform_none() { | 133 test_perform_none() { |
| 142 AnalysisTarget target = newSource( | 134 AnalysisTarget target = newSource('/test.html', r''' |
| 143 '/test.html', | |
| 144 r''' | |
| 145 <!DOCTYPE html> | 135 <!DOCTYPE html> |
| 146 <html> | 136 <html> |
| 147 <head> | 137 <head> |
| 148 <title>test page</title> | 138 <title>test page</title> |
| 149 </head> | 139 </head> |
| 150 <body> | 140 <body> |
| 151 Test | 141 Test |
| 152 </body> | 142 </body> |
| 153 </html> | 143 </html> |
| 154 '''); | 144 '''); |
| 155 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 145 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 156 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); | 146 expect(outputs[REFERENCED_LIBRARIES], hasLength(0)); |
| 157 expect(outputs[DART_SCRIPTS], hasLength(0)); | 147 expect(outputs[DART_SCRIPTS], hasLength(0)); |
| 158 } | 148 } |
| 159 | 149 |
| 160 void test_perform_referenced_source() { | 150 void test_perform_referenced_source() { |
| 161 AnalysisTarget target = newSource( | 151 AnalysisTarget target = newSource('/test.html', r''' |
| 162 '/test.html', | |
| 163 r''' | |
| 164 <!DOCTYPE html> | 152 <!DOCTYPE html> |
| 165 <html> | 153 <html> |
| 166 <head> | 154 <head> |
| 167 <script type='application/dart' src='test.dart'/> | 155 <script type='application/dart' src='test.dart'/> |
| 168 </head> | 156 </head> |
| 169 <body> | 157 <body> |
| 170 </body> | 158 </body> |
| 171 </html>'''); | 159 </html>'''); |
| 172 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); | 160 computeResult(target, REFERENCED_LIBRARIES, matcher: isDartScriptsTask); |
| 173 expect(outputs[REFERENCED_LIBRARIES], hasLength(1)); | 161 expect(outputs[REFERENCED_LIBRARIES], hasLength(1)); |
| 174 expect(outputs[DART_SCRIPTS], hasLength(0)); | 162 expect(outputs[DART_SCRIPTS], hasLength(0)); |
| 175 } | 163 } |
| 176 } | 164 } |
| 177 | 165 |
| 178 @reflectiveTest | 166 @reflectiveTest |
| 179 class HtmlErrorsTaskTest extends AbstractContextTest { | 167 class HtmlErrorsTaskTest extends AbstractContextTest { |
| 180 fail_perform_htmlErrors() { | 168 fail_perform_htmlErrors() { |
| 181 AnalysisTarget target = newSource( | 169 AnalysisTarget target = newSource('/test.html', r''' |
| 182 '/test.html', | |
| 183 r''' | |
| 184 <html> | 170 <html> |
| 185 <head> | 171 <head> |
| 186 <title>test page</not-title> | 172 <title>test page</not-title> |
| 187 </head> | 173 </head> |
| 188 <body> | 174 <body> |
| 189 Test | 175 Test |
| 190 </body> | 176 </body> |
| 191 </html> | 177 </html> |
| 192 '''); | 178 '''); |
| 193 computeResult(target, HTML_ERRORS, matcher: isHtmlErrorsTask); | 179 computeResult(target, HTML_ERRORS, matcher: isHtmlErrorsTask); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 215 HtmlErrorsTask task = new HtmlErrorsTask(null, source); | 201 HtmlErrorsTask task = new HtmlErrorsTask(null, source); |
| 216 expect(task.description, isNotNull); | 202 expect(task.description, isNotNull); |
| 217 } | 203 } |
| 218 | 204 |
| 219 test_descriptor() { | 205 test_descriptor() { |
| 220 TaskDescriptor descriptor = HtmlErrorsTask.DESCRIPTOR; | 206 TaskDescriptor descriptor = HtmlErrorsTask.DESCRIPTOR; |
| 221 expect(descriptor, isNotNull); | 207 expect(descriptor, isNotNull); |
| 222 } | 208 } |
| 223 | 209 |
| 224 test_perform_dartErrors() { | 210 test_perform_dartErrors() { |
| 225 AnalysisTarget target = newSource( | 211 AnalysisTarget target = newSource('/test.html', r''' |
| 226 '/test.html', | |
| 227 r''' | |
| 228 <!DOCTYPE html> | 212 <!DOCTYPE html> |
| 229 <html> | 213 <html> |
| 230 <head> | 214 <head> |
| 231 <title>test page</title> | 215 <title>test page</title> |
| 232 <script type='application/dart'> | 216 <script type='application/dart'> |
| 233 void buttonPressed() { | 217 void buttonPressed() { |
| 234 </script> | 218 </script> |
| 235 </head> | 219 </head> |
| 236 <body>Test</body> | 220 <body>Test</body> |
| 237 </html> | 221 </html> |
| 238 '''); | 222 '''); |
| 239 computeResult(target, HTML_ERRORS, matcher: isHtmlErrorsTask); | 223 computeResult(target, HTML_ERRORS, matcher: isHtmlErrorsTask); |
| 240 expect(outputs[HTML_ERRORS], hasLength(1)); | 224 expect(outputs[HTML_ERRORS], hasLength(1)); |
| 241 } | 225 } |
| 242 | 226 |
| 243 test_perform_noErrors() { | 227 test_perform_noErrors() { |
| 244 AnalysisTarget target = newSource( | 228 AnalysisTarget target = newSource('/test.html', r''' |
| 245 '/test.html', | |
| 246 r''' | |
| 247 <!DOCTYPE html> | 229 <!DOCTYPE html> |
| 248 <html> | 230 <html> |
| 249 <head> | 231 <head> |
| 250 <title>test page</title> | 232 <title>test page</title> |
| 251 </head> | 233 </head> |
| 252 <body> | 234 <body> |
| 253 Test | 235 Test |
| 254 </body> | 236 </body> |
| 255 </html> | 237 </html> |
| 256 '''); | 238 '''); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 expect(bodyElement.localName, 'body'); | 353 expect(bodyElement.localName, 'body'); |
| 372 // actual nodes | 354 // actual nodes |
| 373 expect(bodyElement.nodes, hasLength(4)); | 355 expect(bodyElement.nodes, hasLength(4)); |
| 374 expect((bodyElement.nodes[0] as Element).localName, 'div'); | 356 expect((bodyElement.nodes[0] as Element).localName, 'div'); |
| 375 expect((bodyElement.nodes[2] as Element).localName, 'span'); | 357 expect((bodyElement.nodes[2] as Element).localName, 'span'); |
| 376 } | 358 } |
| 377 // it's OK to don't have DOCTYPE | 359 // it's OK to don't have DOCTYPE |
| 378 expect(outputs[HTML_DOCUMENT_ERRORS], isEmpty); | 360 expect(outputs[HTML_DOCUMENT_ERRORS], isEmpty); |
| 379 } | 361 } |
| 380 } | 362 } |
| OLD | NEW |