Skip to content
Snippets Groups Projects
Commit 597233aa authored by Natalie Weizenbaum's avatar Natalie Weizenbaum
Browse files

Fix a bug in pubspec parsing.

We didn't properly check for no sources in a dependency, which caused a
crash for some invalid pubspecs.

Closes #1348

R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1417993002 .
parent a1955a98
No related branches found
No related tags found
No related merge requests found
......@@ -463,6 +463,8 @@ class Pubspec {
var sourceNames = spec.keys.toList();
if (sourceNames.length > 1) {
_error('A dependency may only have one source.', specNode.span);
} else if (sourceNames.isEmpty) {
_error('A dependency must contain a source.', specNode.span);
}
sourceName = sourceNames.single;
......
......@@ -229,6 +229,14 @@ dependencies:
''', (pubspec) => pubspec.dependencies);
});
test("throws if there's no source", () {
expectPubspecException('''
dependencies:
foo:
version: 1.2.3
''', (pubspec) => pubspec.dependencies);
});
test("throws if 'name' is not a string", () {
expectPubspecException('name: [not, a, string]',
(pubspec) => pubspec.name);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment