Index: lib/src/runner/parse_metadata.dart |
diff --git a/lib/src/runner/parse_metadata.dart b/lib/src/runner/parse_metadata.dart |
index f0bba021660be2ae06ab79aca2b33871107392b2..dcdb31062ba5d4bacce1bb09146cb0da9a38acbc 100644 |
--- a/lib/src/runner/parse_metadata.dart |
+++ b/lib/src/runner/parse_metadata.dart |
@@ -96,10 +96,19 @@ Metadata parseMetadata(String path) { |
_spanFor(annotation, path)); |
} |
- testOn = args.first.stringValue; |
+ testOn = args.first; |
} |
- return new Metadata.parse(testOn: testOn); |
+ try { |
+ return new Metadata.parse( |
+ testOn: testOn == null ? null : testOn.stringValue); |
+ } on SourceSpanFormatException catch (error) { |
+ var file = new SourceFile(new File(path).readAsStringSync(), |
+ url: p.toUri(path)); |
+ var span = contextualizeSpan(error.span, testOn, file); |
+ if (span == null) rethrow; |
+ throw new SourceSpanFormatException(error.message, span); |
+ } |
} |
/// Creates a [SourceSpan] for [node]. |