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', () {