-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
Copy pathmocks.dart
158 lines (120 loc) · 3.38 KB
/
mocks.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/diagnostic/diagnostic.dart';
import 'package:analyzer/error/error.dart';
import 'package:analyzer/source/line_info.dart';
import 'package:analyzer/source/source.dart';
import 'package:analyzer/src/diagnostic/diagnostic.dart';
import 'package:analyzer_cli/src/options.dart';
class MockAnalysisError implements AnalysisError {
@override
MockSource source;
@override
MockErrorCode errorCode;
@override
int offset;
@override
String message;
@override
int length = 3;
MockAnalysisError(this.source, this.errorCode, this.offset, this.message);
@override
List<DiagnosticMessage> get contextMessages => const [];
@override
String? get correction => null;
@override
String? get correctionMessage => null;
@override
Object? get data => throw UnimplementedError();
@override
DiagnosticMessage get problemMessage => DiagnosticMessageImpl(
filePath: source.fullName,
length: length,
message: message,
offset: offset,
url: null,
);
@override
Severity get severity => Severity.error;
}
class MockCommandLineOptions implements CommandLineOptions {
bool enableTypeChecks = false;
@override
bool jsonFormat = false;
@override
bool machineFormat = false;
@override
bool verbose = false;
@override
bool color = false;
@override
dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class MockErrorCode implements ErrorCode {
@override
ErrorType type;
@override
ErrorSeverity errorSeverity;
@override
String name;
@override
String? url;
MockErrorCode(this.type, this.errorSeverity, this.name);
@override
String get correctionMessage {
throw StateError('Unexpected invocation of correction');
}
@override
bool get hasPublishedDocs => false;
@override
bool get isIgnorable => true;
@override
bool get isUnresolvedIdentifier => false;
@override
String get problemMessage {
throw StateError('Unexpected invocation of message');
}
@override
String get uniqueName {
throw StateError('Unexpected invocation of uniqueName');
}
@override
dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class MockLineInfo implements LineInfo {
CharacterLocation? defaultLocation;
MockLineInfo({this.defaultLocation});
@override
int get lineCount {
throw StateError('Unexpected invocation of lineCount');
}
@override
List<int> get lineStarts {
throw StateError('Unexpected invocation of lineStarts');
}
@override
CharacterLocation getLocation(int offset) {
if (defaultLocation != null) {
return defaultLocation!;
}
throw StateError('Unexpected invocation of getLocation');
}
@override
int getOffsetOfLine(int lineNumber) {
throw StateError('Unexpected invocation of getOffsetOfLine');
}
@override
int getOffsetOfLineAfter(int offset) {
throw StateError('Unexpected invocation of getOffsetOfLineAfter');
}
}
class MockSource implements Source {
@override
final String fullName;
@override
final Uri uri;
MockSource(this.fullName, this.uri);
@override
dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}