Test all trivial fields
diff --git a/pkgs/pubspec_parse/lib/src/pubspec.dart b/pkgs/pubspec_parse/lib/src/pubspec.dart index 90efa1c..06d358a 100644 --- a/pkgs/pubspec_parse/lib/src/pubspec.dart +++ b/pkgs/pubspec_parse/lib/src/pubspec.dart
@@ -13,9 +13,12 @@ @JsonSerializable(createToJson: false) class Pubspec { final String name; - final String homepage; - final String documentation; + + @JsonKey(fromJson: _versionFromString) + final Version version; + final String description; + final String homepage; /// If there is exactly 1 value in [authors], returns it. /// @@ -30,13 +33,11 @@ } final List<String> authors; + final String documentation; @JsonKey(fromJson: _environmentMap) final Map<String, VersionConstraint> environment; - @JsonKey(fromJson: _versionFromString) - final Version version; - @JsonKey(fromJson: _getDeps, nullable: false) final Map<String, Dependency> dependencies;
diff --git a/pkgs/pubspec_parse/test/parse_test.dart b/pkgs/pubspec_parse/test/parse_test.dart index bfe20f0..d163e5a 100644 --- a/pkgs/pubspec_parse/test/parse_test.dart +++ b/pkgs/pubspec_parse/test/parse_test.dart
@@ -7,13 +7,41 @@ import 'test_utils.dart'; void main() { - test('trival', () { + test('minimal set values', () { var value = parse({'name': 'sample'}); expect(value.name, 'sample'); + expect(value.version, isNull); + expect(value.description, isNull); + expect(value.homepage, isNull); // ignore: deprecated_member_use expect(value.author, isNull); expect(value.authors, isEmpty); + expect(value.documentation, isNull); expect(value.dependencies, isEmpty); + expect(value.devDependencies, isEmpty); + expect(value.dependencyOverrides, isEmpty); + }); + + test('all fields set', () { + var value = parse({ + 'name': 'sample', + 'version': '1.2.3', + 'author': 'name@example.com', + 'description': 'description', + 'homepage': 'homepage', + 'documentation': 'documentation' + }); + expect(value.name, 'sample'); + expect(value.version.toString(), '1.2.3'); + expect(value.description, 'description'); + expect(value.homepage, 'homepage'); + // ignore: deprecated_member_use + expect(value.author, 'name@example.com'); + expect(value.authors, ['name@example.com']); + expect(value.documentation, 'documentation'); + expect(value.dependencies, isEmpty); + expect(value.devDependencies, isEmpty); + expect(value.dependencyOverrides, isEmpty); }); group('author, authors', () {