Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: test/pubspec_test.dart

Issue 2079303003: Track Source objects in PackageNames. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/lock_file_test.dart ('k') | test/test_pub.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:pub/src/package.dart'; 5 import 'package:pub/src/package.dart';
6 import 'package:pub/src/pubspec.dart'; 6 import 'package:pub/src/pubspec.dart';
7 import 'package:pub/src/source.dart'; 7 import 'package:pub/src/source.dart';
8 import 'package:pub/src/source/path.dart'; 8 import 'package:pub/src/source/path.dart';
9 import 'package:pub/src/source_registry.dart'; 9 import 'package:pub/src/source_registry.dart';
10 import 'package:pub/src/system_cache.dart'; 10 import 'package:pub/src/system_cache.dart';
11 import 'package:pub_semver/pub_semver.dart'; 11 import 'package:pub_semver/pub_semver.dart';
12 import 'package:test/test.dart'; 12 import 'package:test/test.dart';
13 13
14 class MockSource extends Source { 14 class MockSource extends Source {
15 final String name = "mock"; 15 final String name = "mock";
16 16
17 BoundSource bind(SystemCache cache) => 17 BoundSource bind(SystemCache cache) =>
18 throw new UnsupportedError("Cannot download mock packages."); 18 throw new UnsupportedError("Cannot download mock packages.");
19 19
20 PackageRef parseRef(String name, description, {String containingPath}) { 20 PackageRef parseRef(String name, description, {String containingPath}) {
21 if (description != 'ok') throw new FormatException('Bad'); 21 if (description != 'ok') throw new FormatException('Bad');
22 return new PackageRef(name, this.name, description); 22 return new PackageRef(name, this, description);
23 } 23 }
24 24
25 PackageId parseId(String name, Version version, description) => 25 PackageId parseId(String name, Version version, description) =>
26 new PackageId(name, this.name, version, description); 26 new PackageId(name, this, version, description);
27 27
28 bool descriptionsEqual(description1, description2) => 28 bool descriptionsEqual(description1, description2) =>
29 description1 == description2; 29 description1 == description2;
30 30
31 int hashDescription(description) => description.hashCode;
32
31 String packageName(description) => 'foo'; 33 String packageName(description) => 'foo';
32 } 34 }
33 35
34 main() { 36 main() {
35 group('parse()', () { 37 group('parse()', () {
36 var sources = new SourceRegistry(); 38 var sources = new SourceRegistry();
37 sources.register(new MockSource()); 39 sources.register(new MockSource());
38 40
39 var throwsPubspecException = 41 var throwsPubspecException =
40 throwsA(new isInstanceOf<PubspecException>()); 42 throwsA(new isInstanceOf<PubspecException>());
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 142
141 test("allows an unknown source", () { 143 test("allows an unknown source", () {
142 var pubspec = new Pubspec.parse(''' 144 var pubspec = new Pubspec.parse('''
143 dependencies: 145 dependencies:
144 foo: 146 foo:
145 unknown: blah 147 unknown: blah
146 ''', sources); 148 ''', sources);
147 149
148 var foo = pubspec.dependencies[0]; 150 var foo = pubspec.dependencies[0];
149 expect(foo.name, equals('foo')); 151 expect(foo.name, equals('foo'));
150 expect(foo.source, equals('unknown')); 152 expect(foo.source, equals(sources['unknown']));
151 }); 153 });
152 154
153 test("throws if a package is in dependencies and dev_dependencies", () { 155 test("throws if a package is in dependencies and dev_dependencies", () {
154 expectPubspecException(''' 156 expectPubspecException('''
155 dependencies: 157 dependencies:
156 foo: 158 foo:
157 mock: ok 159 mock: ok
158 dev_dependencies: 160 dev_dependencies:
159 foo: 161 foo:
160 mock: ok 162 mock: ok
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 test("uses the key if the value is null", () { 522 test("uses the key if the value is null", () {
521 var pubspec = new Pubspec.parse(''' 523 var pubspec = new Pubspec.parse('''
522 executables: 524 executables:
523 command: 525 command:
524 ''', sources); 526 ''', sources);
525 expect(pubspec.executables['command'], equals('command')); 527 expect(pubspec.executables['command'], equals('command'));
526 }); 528 });
527 }); 529 });
528 }); 530 });
529 } 531 }
OLDNEW
« no previous file with comments | « test/lock_file_test.dart ('k') | test/test_pub.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698