Organize dependency tests around their type
Easier to scan through
diff --git a/pkgs/pubspec_parse/test/dependency_test.dart b/pkgs/pubspec_parse/test/dependency_test.dart
index 5c86721..b8544d8 100644
--- a/pkgs/pubspec_parse/test/dependency_test.dart
+++ b/pkgs/pubspec_parse/test/dependency_test.dart
@@ -8,62 +8,10 @@
import 'test_utils.dart';
void main() {
- test('HostedDepedency - null', () {
- var dep = _dependency<HostedDependency>(null);
- expect(dep.version.toString(), 'any');
- expect(dep.toString(), 'HostedDependency: any');
- });
-
- test('HostedDepedency - string', () {
- var dep = _dependency<HostedDependency>('^1.0.0');
- expect(dep.version.toString(), '^1.0.0');
- expect(dep.toString(), 'HostedDependency: ^1.0.0');
- });
-
- test('HostedDepedency - map', () {
- var dep = _dependency<HostedDependency>({'version': '^1.0.0'});
- expect(dep.version.toString(), '^1.0.0');
- expect(dep.toString(), 'HostedDependency: ^1.0.0');
- });
-
- test('SdkDependency without version', () {
- var dep = _dependency<SdkDependency>({'sdk': 'flutter'});
- expect(dep.sdk, 'flutter');
- expect(dep.version, isNull);
- expect(dep.toString(), 'SdkDependency: flutter');
- });
-
- test('SdkDependency with version', () {
- var dep = _dependency<SdkDependency>(
- {'sdk': 'flutter', 'version': '>=1.2.3 <2.0.0'});
- expect(dep.sdk, 'flutter');
- expect(dep.version.toString(), '>=1.2.3 <2.0.0');
- expect(dep.toString(), 'SdkDependency: flutter');
- });
-
- test('GitDependency - string', () {
- var dep = _dependency<GitDependency>({'git': 'url'});
- expect(dep.url.toString(), 'url');
- expect(dep.path, isNull);
- expect(dep.ref, isNull);
- expect(dep.toString(), 'GitDependency: url@url');
- });
-
- test('GitDependency - map', () {
- var dep = _dependency<GitDependency>({
- 'git': {'url': 'url', 'path': 'path', 'ref': 'ref'}
- });
- expect(dep.url.toString(), 'url');
- expect(dep.path, 'path');
- expect(dep.ref, 'ref');
- expect(dep.toString(), 'GitDependency: url@url');
- });
-
- test('PathDependency', () {
- var dep = _dependency<PathDependency>({'path': '../path'});
- expect(dep.path, '../path');
- expect(dep.toString(), 'PathDependency: path@../path');
- });
+ group('hosted', _hostedDependency);
+ group('git', _gitDependency);
+ group('sdk', _sdkDependency);
+ group('path', _pathDependency);
group('errors', () {
test('List', () {
@@ -93,59 +41,124 @@
"path": "a",
^^^''');
});
+ });
+}
- test('git - null content', () {
- _expectThrows({'git': null}, r'''
+void _hostedDependency() {
+ test('HostedDepedency - null', () {
+ var dep = _dependency<HostedDependency>(null);
+ expect(dep.version.toString(), 'any');
+ expect(dep.toString(), 'HostedDependency: any');
+ });
+
+ test('HostedDepedency - string', () {
+ var dep = _dependency<HostedDependency>('^1.0.0');
+ expect(dep.version.toString(), '^1.0.0');
+ expect(dep.toString(), 'HostedDependency: ^1.0.0');
+ });
+
+ test('HostedDepedency - map', () {
+ var dep = _dependency<HostedDependency>({'version': '^1.0.0'});
+ expect(dep.version.toString(), '^1.0.0');
+ expect(dep.toString(), 'HostedDependency: ^1.0.0');
+ });
+}
+
+void _sdkDependency() {
+ test('SdkDependency without version', () {
+ var dep = _dependency<SdkDependency>({'sdk': 'flutter'});
+ expect(dep.sdk, 'flutter');
+ expect(dep.version, isNull);
+ expect(dep.toString(), 'SdkDependency: flutter');
+ });
+
+ test('SdkDependency with version', () {
+ var dep = _dependency<SdkDependency>(
+ {'sdk': 'flutter', 'version': '>=1.2.3 <2.0.0'});
+ expect(dep.sdk, 'flutter');
+ expect(dep.version.toString(), '>=1.2.3 <2.0.0');
+ expect(dep.toString(), 'SdkDependency: flutter');
+ });
+}
+
+void _gitDependency() {
+ test('GitDependency - string', () {
+ var dep = _dependency<GitDependency>({'git': 'url'});
+ expect(dep.url.toString(), 'url');
+ expect(dep.path, isNull);
+ expect(dep.ref, isNull);
+ expect(dep.toString(), 'GitDependency: url@url');
+ });
+
+ test('GitDependency - map', () {
+ var dep = _dependency<GitDependency>({
+ 'git': {'url': 'url', 'path': 'path', 'ref': 'ref'}
+ });
+ expect(dep.url.toString(), 'url');
+ expect(dep.path, 'path');
+ expect(dep.ref, 'ref');
+ expect(dep.toString(), 'GitDependency: url@url');
+ });
+
+ test('git - null content', () {
+ _expectThrows({'git': null}, r'''
line 5, column 11: Cannot be null.
"git": null
^^^^^''');
- });
+ });
- test('git - int content', () {
- _expectThrows({'git': 42}, r'''
+ test('git - int content', () {
+ _expectThrows({'git': 42}, r'''
line 5, column 11: Must be a String or a Map.
"git": 42
^^^''');
- });
+ });
- test('git - empty map', () {
- _expectThrows({'git': {}}, r'''
+ test('git - empty map', () {
+ _expectThrows({'git': {}}, r'''
line 5, column 11: "url" is required.
"git": {}
^^''');
- });
+ });
- test('git - null url', () {
- _expectThrows({
- 'git': {'url': null}
- }, r'''
+ test('git - null url', () {
+ _expectThrows({
+ 'git': {'url': null}
+ }, r'''
line 6, column 12: "url" cannot be null.
"url": null
^^^^^''');
- });
+ });
- test('git - int url', () {
- _expectThrows({
- 'git': {'url': 42}
- }, r'''
+ test('git - int url', () {
+ _expectThrows({
+ 'git': {'url': 42}
+ }, r'''
line 6, column 12: Unsupported value for `url`.
"url": 42
^^^''');
- });
+ });
+}
- test('path - null content', () {
- _expectThrows({'path': null}, r'''
+void _pathDependency() {
+ test('PathDependency', () {
+ var dep = _dependency<PathDependency>({'path': '../path'});
+ expect(dep.path, '../path');
+ expect(dep.toString(), 'PathDependency: path@../path');
+ });
+
+ test('path - null content', () {
+ _expectThrows({'path': null}, r'''
line 5, column 12: Cannot be null.
"path": null
^^^^^''');
- });
+ });
- test('path - int content', () {
- _expectThrows({'path': 42}, r'''
+ test('path - int content', () {
+ _expectThrows({'path': 42}, r'''
line 5, column 12: Must be a String.
"path": 42
^^^''');
- });
});
}