resolvePackageTestPathFromDeclaration function
String?
resolvePackageTestPathFromDeclaration({
- Uri? locationUri,
- StackTrace? stackTrace,
- List<
String> ignoredLibrarySuffixes = const <String>[],
Implementation
String? resolvePackageTestPathFromDeclaration({
Uri? locationUri,
StackTrace? stackTrace,
List<String> ignoredLibrarySuffixes = const <String>[],
}) {
final direct = packageTestPathFromUri(locationUri);
if (direct != null) {
return direct;
}
final trace = stackTrace ?? StackTrace.current;
for (final line in trace.toString().split('\n')) {
final match = RegExp(r'(file:///[^\s)]+\.dart)').firstMatch(line);
if (match == null) {
continue;
}
final uri = Uri.tryParse(match.group(1)!);
final candidate = packageTestPathFromUri(uri);
if (candidate == null ||
_isAdapterLibrary(
candidate,
ignoredLibrarySuffixes: ignoredLibrarySuffixes,
)) {
continue;
}
return candidate;
}
return null;
}