| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2014, 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 // This code was auto-generated, is not intended to be edited, and is subject to |
| 6 // significant change. Please see the README file for more information. |
| 7 |
| 8 library test.services.correction.status; |
| 9 |
| 10 import 'package:analysis_services/correction/status.dart'; |
| 11 import 'package:analysis_services/search/search_engine.dart'; |
| 12 import 'package:analysis_services/src/correction/source_range.dart'; |
| 13 import 'package:analysis_testing/abstract_single_unit.dart'; |
| 14 import 'package:analysis_testing/reflective_tests.dart'; |
| 15 import 'package:analyzer/src/generated/ast.dart'; |
| 16 import 'package:analyzer/src/generated/element.dart'; |
| 17 import 'package:analyzer/src/generated/source.dart'; |
| 18 import 'package:typed_mock/typed_mock.dart'; |
| 19 import 'package:unittest/unittest.dart'; |
| 20 |
| 21 |
| 22 main() { |
| 23 groupSep = ' | '; |
| 24 runReflectiveTests(RefactoringStatusContextTest); |
| 25 runReflectiveTests(RefactoringStatusEntryTest); |
| 26 runReflectiveTests(RefactoringStatusTest); |
| 27 } |
| 28 |
| 29 |
| 30 @ReflectiveTestCase() |
| 31 class RefactoringStatusContextTest extends AbstractSingleUnitTest { |
| 32 void test_new_forElement() { |
| 33 resolveTestUnit('class MyClass {}'); |
| 34 Element element = findElement('MyClass'); |
| 35 var statusContext = new RefactoringStatusContext.forElement(element); |
| 36 // access |
| 37 expect(statusContext.context, context); |
| 38 expect(statusContext.source, testSource); |
| 39 expect( |
| 40 statusContext.range, |
| 41 rangeStartLength(element.nameOffset, 'MyClass'.length)); |
| 42 } |
| 43 |
| 44 void test_new_forMatch() { |
| 45 resolveTestUnit('class MyClass {}'); |
| 46 Element element = findElement('MyClass'); |
| 47 SourceRange range = rangeElementName(element); |
| 48 SearchMatch match = new SearchMatch(null, element, range, true, false); |
| 49 var statusContext = new RefactoringStatusContext.forMatch(match); |
| 50 // access |
| 51 expect(statusContext.context, context); |
| 52 expect(statusContext.source, testSource); |
| 53 expect(statusContext.range, range); |
| 54 } |
| 55 |
| 56 void test_new_forNode() { |
| 57 resolveTestUnit(''' |
| 58 main() { |
| 59 } |
| 60 '''); |
| 61 AstNode node = findNodeAtString('main'); |
| 62 var statusContext = new RefactoringStatusContext.forNode(node); |
| 63 // access |
| 64 expect(statusContext.context, context); |
| 65 expect(statusContext.source, testSource); |
| 66 expect(statusContext.range, rangeNode(node)); |
| 67 } |
| 68 |
| 69 void test_new_forUnit() { |
| 70 resolveTestUnit(''); |
| 71 SourceRange range = rangeStartLength(10, 20); |
| 72 var statusContext = new RefactoringStatusContext.forUnit(testUnit, range); |
| 73 // access |
| 74 expect(statusContext.context, context); |
| 75 expect(statusContext.source, testSource); |
| 76 expect(statusContext.range, range); |
| 77 } |
| 78 } |
| 79 |
| 80 |
| 81 @ReflectiveTestCase() |
| 82 class RefactoringStatusEntryTest { |
| 83 void test_new_withContext() { |
| 84 RefactoringStatusContext context = new _MockRefactoringStatusContext(); |
| 85 RefactoringStatusEntry entry = |
| 86 new RefactoringStatusEntry( |
| 87 RefactoringStatusSeverity.ERROR, |
| 88 "my message", |
| 89 context); |
| 90 // access |
| 91 expect(entry.severity, RefactoringStatusSeverity.ERROR); |
| 92 expect(entry.message, 'my message'); |
| 93 expect(entry.context, context); |
| 94 } |
| 95 |
| 96 void test_new_withoutContext() { |
| 97 RefactoringStatusEntry entry = |
| 98 new RefactoringStatusEntry(RefactoringStatusSeverity.ERROR, "my message"
); |
| 99 // access |
| 100 expect(entry.severity, RefactoringStatusSeverity.ERROR); |
| 101 expect(entry.message, 'my message'); |
| 102 expect(entry.context, isNull); |
| 103 // isX |
| 104 expect(entry.isFatalError, isFalse); |
| 105 expect(entry.isError, isTrue); |
| 106 expect(entry.isWarning, isFalse); |
| 107 } |
| 108 } |
| 109 |
| 110 |
| 111 @ReflectiveTestCase() |
| 112 class RefactoringStatusTest { |
| 113 void test_addError() { |
| 114 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 115 // initial state |
| 116 expect(refactoringStatus.severity, RefactoringStatusSeverity.OK); |
| 117 // add ERROR |
| 118 refactoringStatus.addError('msg'); |
| 119 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 120 expect(refactoringStatus.isOK, isFalse); |
| 121 expect(refactoringStatus.hasFatalError, isFalse); |
| 122 expect(refactoringStatus.hasError, isTrue); |
| 123 // entries |
| 124 List<RefactoringStatusEntry> entries = refactoringStatus.entries; |
| 125 expect(entries, hasLength(1)); |
| 126 expect(entries[0].message, 'msg'); |
| 127 } |
| 128 |
| 129 void test_addFatalError_withContext() { |
| 130 RefactoringStatusContext context = new _MockRefactoringStatusContext(); |
| 131 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 132 // initial state |
| 133 expect(refactoringStatus.severity, RefactoringStatusSeverity.OK); |
| 134 // add FATAL |
| 135 refactoringStatus.addFatalError('msg', context); |
| 136 expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL); |
| 137 expect(refactoringStatus.isOK, isFalse); |
| 138 expect(refactoringStatus.hasFatalError, isTrue); |
| 139 expect(refactoringStatus.hasError, isTrue); |
| 140 // entries |
| 141 List<RefactoringStatusEntry> entries = refactoringStatus.entries; |
| 142 expect(entries, hasLength(1)); |
| 143 expect(entries[0].message, 'msg'); |
| 144 expect(entries[0].context, context); |
| 145 // add WARNING, resulting severity is still FATAL |
| 146 refactoringStatus.addWarning("warning"); |
| 147 expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL); |
| 148 } |
| 149 |
| 150 void test_addFatalError_withoutContext() { |
| 151 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 152 // initial state |
| 153 expect(refactoringStatus.severity, RefactoringStatusSeverity.OK); |
| 154 // add FATAL |
| 155 refactoringStatus.addFatalError('msg'); |
| 156 expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL); |
| 157 expect(refactoringStatus.isOK, isFalse); |
| 158 expect(refactoringStatus.hasFatalError, isTrue); |
| 159 expect(refactoringStatus.hasError, isTrue); |
| 160 // entries |
| 161 List<RefactoringStatusEntry> entries = refactoringStatus.entries; |
| 162 expect(entries, hasLength(1)); |
| 163 expect(entries[0].message, 'msg'); |
| 164 expect(entries[0].context, isNull); |
| 165 } |
| 166 |
| 167 void test_addStatus_Error_withWarning() { |
| 168 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 169 refactoringStatus.addError("err"); |
| 170 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 171 // merge with OK |
| 172 { |
| 173 RefactoringStatus other = new RefactoringStatus(); |
| 174 other.addWarning("warn"); |
| 175 refactoringStatus.addStatus(other); |
| 176 } |
| 177 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 178 expect(refactoringStatus.message, 'err'); |
| 179 } |
| 180 |
| 181 void test_addStatus_Warning_null() { |
| 182 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 183 refactoringStatus.addWarning("warn"); |
| 184 expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING); |
| 185 // merge with "null" |
| 186 refactoringStatus.addStatus(null); |
| 187 expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING); |
| 188 } |
| 189 |
| 190 void test_addStatus_Warning_withError() { |
| 191 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 192 refactoringStatus.addWarning("warn"); |
| 193 expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING); |
| 194 // merge with OK |
| 195 { |
| 196 RefactoringStatus other = new RefactoringStatus(); |
| 197 other.addError("err"); |
| 198 refactoringStatus.addStatus(other); |
| 199 } |
| 200 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 201 expect(refactoringStatus.message, 'err'); |
| 202 } |
| 203 |
| 204 void test_addWarning() { |
| 205 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 206 // initial state |
| 207 expect(refactoringStatus.severity, RefactoringStatusSeverity.OK); |
| 208 // add WARNING |
| 209 refactoringStatus.addWarning('msg'); |
| 210 expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING); |
| 211 expect(refactoringStatus.isOK, isFalse); |
| 212 expect(refactoringStatus.hasFatalError, isFalse); |
| 213 expect(refactoringStatus.hasError, isFalse); |
| 214 expect(refactoringStatus.hasWarning, isTrue); |
| 215 // entries |
| 216 List<RefactoringStatusEntry> entries = refactoringStatus.entries; |
| 217 expect(entries, hasLength(1)); |
| 218 expect(entries[0].message, 'msg'); |
| 219 } |
| 220 |
| 221 void test_escalateErrorToFatal() { |
| 222 RefactoringStatus refactoringStatus = new RefactoringStatus.error('msg'); |
| 223 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 224 // escalated |
| 225 RefactoringStatus escalated = refactoringStatus.escalateErrorToFatal(); |
| 226 expect(escalated.severity, RefactoringStatusSeverity.FATAL); |
| 227 } |
| 228 |
| 229 void test_get_entryWithHighestSeverity() { |
| 230 RefactoringStatus refactoringStatus = new RefactoringStatus(); |
| 231 // no entries |
| 232 expect(refactoringStatus.entryWithHighestSeverity, isNull); |
| 233 expect(refactoringStatus.message, isNull); |
| 234 // add entries |
| 235 refactoringStatus.addError('msgError'); |
| 236 refactoringStatus.addWarning('msgWarning'); |
| 237 refactoringStatus.addFatalError('msgFatalError'); |
| 238 // get entry |
| 239 { |
| 240 RefactoringStatusEntry entry = refactoringStatus.entryWithHighestSeverity; |
| 241 expect(entry.severity, RefactoringStatusSeverity.FATAL); |
| 242 expect(entry.message, 'msgFatalError'); |
| 243 } |
| 244 // get message |
| 245 expect(refactoringStatus.message, 'msgFatalError'); |
| 246 } |
| 247 |
| 248 void test_newError() { |
| 249 RefactoringStatusContext context = new _MockRefactoringStatusContext(); |
| 250 RefactoringStatus refactoringStatus = |
| 251 new RefactoringStatus.error('msg', context); |
| 252 expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR); |
| 253 expect(refactoringStatus.message, 'msg'); |
| 254 expect(refactoringStatus.entryWithHighestSeverity.context, context); |
| 255 } |
| 256 |
| 257 void test_newFatalError() { |
| 258 RefactoringStatus refactoringStatus = new RefactoringStatus.fatal('msg'); |
| 259 expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL); |
| 260 expect(refactoringStatus.message, 'msg'); |
| 261 } |
| 262 |
| 263 void test_newWarning() { |
| 264 RefactoringStatus refactoringStatus = new RefactoringStatus.warning('msg'); |
| 265 expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING); |
| 266 expect(refactoringStatus.message, 'msg'); |
| 267 } |
| 268 } |
| 269 |
| 270 |
| 271 class _MockRefactoringStatusContext extends TypedMock implements |
| 272 RefactoringStatusContext { |
| 273 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 274 } |
| OLD | NEW |