Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1368)

Unified Diff: pkg/analysis_server/test/services/correction/status_test.dart

Issue 485083004: Make RefactoringStatus a collection of generated RefactoringProblems. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/test/services/correction/status_test.dart
diff --git a/pkg/analysis_server/test/services/correction/status_test.dart b/pkg/analysis_server/test/services/correction/status_test.dart
index 8791f8f6715e98ba43441fffcdc8d6d1eec26e86..c31017a35344834daba18d600b7784b98d8f040c 100644
--- a/pkg/analysis_server/test/services/correction/status_test.dart
+++ b/pkg/analysis_server/test/services/correction/status_test.dart
@@ -12,95 +12,65 @@ import 'package:analysis_testing/reflective_tests.dart';
import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/source.dart';
-import 'package:typed_mock/typed_mock.dart';
import 'package:unittest/unittest.dart';
+import 'package:analysis_server/src/protocol2.dart' show Location,
+ RefactoringProblem, RefactoringProblemSeverity;
main() {
groupSep = ' | ';
- runReflectiveTests(RefactoringStatusContextTest);
- runReflectiveTests(RefactoringStatusEntryTest);
+ runReflectiveTests(RefactoringLocationTest);
runReflectiveTests(RefactoringStatusTest);
}
@ReflectiveTestCase()
-class RefactoringStatusContextTest extends AbstractSingleUnitTest {
- void test_new_forElement() {
+class RefactoringLocationTest extends AbstractSingleUnitTest {
+ void test_createLocation_forElement() {
resolveTestUnit('class MyClass {}');
Element element = findElement('MyClass');
- var statusContext = new RefactoringStatusContext.forElement(element);
- // access
- expect(statusContext.context, context);
- expect(statusContext.source, testSource);
- expect(
- statusContext.range,
- rangeStartLength(element.nameOffset, 'MyClass'.length));
+ // check
+ Location location = createLocation_forElement(element);
+ expect(location.file, '/test.dart');
+ expect(location.offset, 6);
+ expect(location.length, 7);
+ expect(location.startLine, 1);
+ expect(location.startColumn, 7);
}
- void test_new_forMatch() {
+ void test_createLocation_forMatch() {
resolveTestUnit('class MyClass {}');
Element element = findElement('MyClass');
SourceRange range = rangeElementName(element);
SearchMatch match = new SearchMatch(null, element, range, true, false);
- var statusContext = new RefactoringStatusContext.forMatch(match);
- // access
- expect(statusContext.context, context);
- expect(statusContext.source, testSource);
- expect(statusContext.range, range);
+ // check
+ Location location = createLocation_forMatch(match);
+ expect(location.file, '/test.dart');
+ expect(location.offset, range.offset);
+ expect(location.length, range.length);
}
- void test_new_forNode() {
+ void test_createLocation_forNode() {
resolveTestUnit('''
main() {
}
''');
AstNode node = findNodeAtString('main');
- var statusContext = new RefactoringStatusContext.forNode(node);
- // access
- expect(statusContext.context, context);
- expect(statusContext.source, testSource);
- expect(statusContext.range, rangeNode(node));
+ // check
+ Location location = createLocation_forNode(node);
+ expect(location.file, '/test.dart');
+ expect(location.offset, node.offset);
+ expect(location.length, node.length);
}
- void test_new_forUnit() {
+ void test_createLocation_forUnit() {
resolveTestUnit('');
SourceRange range = rangeStartLength(10, 20);
- var statusContext = new RefactoringStatusContext.forUnit(testUnit, range);
- // access
- expect(statusContext.context, context);
- expect(statusContext.source, testSource);
- expect(statusContext.range, range);
- }
-}
-
-
-@ReflectiveTestCase()
-class RefactoringStatusEntryTest {
- void test_new_withContext() {
- RefactoringStatusContext context = new _MockRefactoringStatusContext();
- RefactoringStatusEntry entry =
- new RefactoringStatusEntry(
- RefactoringStatusSeverity.ERROR,
- "my message",
- context);
- // access
- expect(entry.severity, RefactoringStatusSeverity.ERROR);
- expect(entry.message, 'my message');
- expect(entry.context, context);
- }
-
- void test_new_withoutContext() {
- RefactoringStatusEntry entry =
- new RefactoringStatusEntry(RefactoringStatusSeverity.ERROR, "my message");
- // access
- expect(entry.severity, RefactoringStatusSeverity.ERROR);
- expect(entry.message, 'my message');
- expect(entry.context, isNull);
- // isX
- expect(entry.isFatalError, isFalse);
- expect(entry.isError, isTrue);
- expect(entry.isWarning, isFalse);
+ // check
+ Location location = createLocation_forUnit(testUnit, range);
+ expect(location.file, '/test.dart');
+ expect(location.offset, range.offset);
+ expect(location.length, range.length);
}
}
@@ -110,123 +80,117 @@ class RefactoringStatusTest {
void test_addError() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
// initial state
- expect(refactoringStatus.severity, RefactoringStatusSeverity.OK);
+ expect(refactoringStatus.severity, null);
// add ERROR
refactoringStatus.addError('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.ERROR);
expect(refactoringStatus.isOK, isFalse);
expect(refactoringStatus.hasFatalError, isFalse);
expect(refactoringStatus.hasError, isTrue);
- // entries
- List<RefactoringStatusEntry> entries = refactoringStatus.entries;
- expect(entries, hasLength(1));
- expect(entries[0].message, 'msg');
+ // problems
+ List<RefactoringProblem> problems = refactoringStatus.problems;
+ expect(problems, hasLength(1));
+ expect(problems[0].message, 'msg');
}
- void test_addFatalError_withContext() {
- RefactoringStatusContext context = new _MockRefactoringStatusContext();
+ void test_addFatalError_withLocation() {
+ Location location = new Location('/test.dart', 1, 2, 3, 4);
RefactoringStatus refactoringStatus = new RefactoringStatus();
// initial state
- expect(refactoringStatus.severity, RefactoringStatusSeverity.OK);
+ expect(refactoringStatus.severity, null);
// add FATAL
- refactoringStatus.addFatalError('msg', context);
- expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL);
+ refactoringStatus.addFatalError('msg', location);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.FATAL);
expect(refactoringStatus.isOK, isFalse);
expect(refactoringStatus.hasFatalError, isTrue);
expect(refactoringStatus.hasError, isTrue);
- // entries
- List<RefactoringStatusEntry> entries = refactoringStatus.entries;
- expect(entries, hasLength(1));
- expect(entries[0].message, 'msg');
- expect(entries[0].context, context);
+ // problems
+ List<RefactoringProblem> problems = refactoringStatus.problems;
+ expect(problems, hasLength(1));
+ expect(problems[0].message, 'msg');
+ expect(problems[0].location.file, '/test.dart');
+ expect(problems[0].location.offset, 1);
+ expect(problems[0].location.length, 2);
// add WARNING, resulting severity is still FATAL
refactoringStatus.addWarning("warning");
- expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.FATAL);
}
void test_addFatalError_withoutContext() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
// initial state
- expect(refactoringStatus.severity, RefactoringStatusSeverity.OK);
+ expect(refactoringStatus.severity, null);
// add FATAL
refactoringStatus.addFatalError('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.FATAL);
expect(refactoringStatus.isOK, isFalse);
expect(refactoringStatus.hasFatalError, isTrue);
expect(refactoringStatus.hasError, isTrue);
- // entries
- List<RefactoringStatusEntry> entries = refactoringStatus.entries;
- expect(entries, hasLength(1));
- expect(entries[0].message, 'msg');
- expect(entries[0].context, isNull);
+ // problems
+ List<RefactoringProblem> problems = refactoringStatus.problems;
+ expect(problems, hasLength(1));
+ expect(problems[0].message, 'msg');
+ expect(problems[0].location, isNull);
}
void test_addStatus_Error_withWarning() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
refactoringStatus.addError("err");
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.ERROR);
// merge with OK
{
RefactoringStatus other = new RefactoringStatus();
other.addWarning("warn");
refactoringStatus.addStatus(other);
}
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.ERROR);
expect(refactoringStatus.message, 'err');
}
void test_addStatus_Warning_null() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
refactoringStatus.addWarning("warn");
- expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.WARNING);
// merge with "null"
refactoringStatus.addStatus(null);
- expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.WARNING);
}
void test_addStatus_Warning_withError() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
refactoringStatus.addWarning("warn");
- expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.WARNING);
// merge with OK
{
RefactoringStatus other = new RefactoringStatus();
other.addError("err");
refactoringStatus.addStatus(other);
}
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.ERROR);
expect(refactoringStatus.message, 'err');
}
void test_addWarning() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
// initial state
- expect(refactoringStatus.severity, RefactoringStatusSeverity.OK);
+ expect(refactoringStatus.severity, null);
// add WARNING
refactoringStatus.addWarning('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.WARNING);
expect(refactoringStatus.isOK, isFalse);
expect(refactoringStatus.hasFatalError, isFalse);
expect(refactoringStatus.hasError, isFalse);
expect(refactoringStatus.hasWarning, isTrue);
- // entries
- List<RefactoringStatusEntry> entries = refactoringStatus.entries;
- expect(entries, hasLength(1));
- expect(entries[0].message, 'msg');
+ // problems
+ List<RefactoringProblem> problems = refactoringStatus.problems;
+ expect(problems, hasLength(1));
+ expect(problems[0].message, 'msg');
}
- void test_escalateErrorToFatal() {
- RefactoringStatus refactoringStatus = new RefactoringStatus.error('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
- // escalated
- RefactoringStatus escalated = refactoringStatus.escalateErrorToFatal();
- expect(escalated.severity, RefactoringStatusSeverity.FATAL);
- }
-
- void test_get_entryWithHighestSeverity() {
+ void test_get_problem() {
RefactoringStatus refactoringStatus = new RefactoringStatus();
// no entries
- expect(refactoringStatus.entryWithHighestSeverity, isNull);
+ expect(refactoringStatus.problem, isNull);
expect(refactoringStatus.message, isNull);
// add entries
refactoringStatus.addError('msgError');
@@ -234,38 +198,32 @@ class RefactoringStatusTest {
refactoringStatus.addFatalError('msgFatalError');
// get entry
{
- RefactoringStatusEntry entry = refactoringStatus.entryWithHighestSeverity;
- expect(entry.severity, RefactoringStatusSeverity.FATAL);
- expect(entry.message, 'msgFatalError');
+ RefactoringProblem problem = refactoringStatus.problem;
+ expect(problem.severity, RefactoringProblemSeverity.FATAL);
+ expect(problem.message, 'msgFatalError');
}
// get message
- expect(refactoringStatus.message, 'msgFatalError');
+ expect(refactoringStatus.problem.message, 'msgFatalError');
}
void test_newError() {
- RefactoringStatusContext context = new _MockRefactoringStatusContext();
+ Location location = new Location('/test.dart', 1, 2, 3, 4);
RefactoringStatus refactoringStatus =
- new RefactoringStatus.error('msg', context);
- expect(refactoringStatus.severity, RefactoringStatusSeverity.ERROR);
- expect(refactoringStatus.message, 'msg');
- expect(refactoringStatus.entryWithHighestSeverity.context, context);
+ new RefactoringStatus.error('msg', location);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.ERROR);
+ expect(refactoringStatus.problem.message, 'msg');
+ expect(refactoringStatus.problem.location.file, '/test.dart');
}
void test_newFatalError() {
RefactoringStatus refactoringStatus = new RefactoringStatus.fatal('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.FATAL);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.FATAL);
expect(refactoringStatus.message, 'msg');
}
void test_newWarning() {
RefactoringStatus refactoringStatus = new RefactoringStatus.warning('msg');
- expect(refactoringStatus.severity, RefactoringStatusSeverity.WARNING);
+ expect(refactoringStatus.severity, RefactoringProblemSeverity.WARNING);
expect(refactoringStatus.message, 'msg');
}
}
-
-
-class _MockRefactoringStatusContext extends TypedMock implements
- RefactoringStatusContext {
- noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
-}

Powered by Google App Engine
This is Rietveld 408576698