Chromium Code Reviews| Index: test/test_pub.dart | 
| diff --git a/test/test_pub.dart b/test/test_pub.dart | 
| index 86376eafb1ba80e3a73f529d41504c4444e9bb97..98bd83f81c402a77ff649973144d6c2f0f67c710 100644 | 
| --- a/test/test_pub.dart | 
| +++ b/test/test_pub.dart | 
| @@ -691,21 +691,23 @@ void makeGlobalPackage(String package, String version, | 
| d.dir("$package-$version", contents) | 
| ]).create(); | 
| - var lockFile = _createLockFile(pkg: pkg, hosted: hosted); | 
| - | 
| - // Add the root package to the lockfile. | 
| - var id = new PackageId(package, "hosted", new Version.parse(version), | 
| - package); | 
| - lockFile.packages[package] = id; | 
| - | 
| // Write the lockfile to the global cache. | 
| var sources = new SourceRegistry(); | 
| sources.register(new HostedSource()); | 
| sources.register(new PathSource()); | 
| + var lockFile = _createLockFile(sources, pkg: pkg, hosted: hosted); | 
| + | 
| + // Add the root package to the lockfile. | 
| + var id = new PackageId(package, "hosted", new Version.parse(version), | 
| + package); | 
| + var packages = lockFile.packages.values.toList(); | 
| + packages.add(id); | 
| + lockFile = new LockFile(packages, sources); | 
| 
 
Bob Nystrom
2015/08/07 21:50:56
This code is a bit grungy. How about adding a meth
 
nweiz
2015/08/07 22:16:07
Done.
 
 | 
| + | 
| d.dir(cachePath, [ | 
| d.dir("global_packages", [ | 
| - d.file("$package.lock", lockFile.serialize(null, sources)) | 
| + d.file("$package.lock", lockFile.serialize(null)) | 
| ]) | 
| ]).create(); | 
| } | 
| @@ -721,14 +723,14 @@ void makeGlobalPackage(String package, String version, | 
| /// hosted packages. | 
| void createLockFile(String package, {Iterable<String> sandbox, | 
| Iterable<String> pkg, Map<String, String> hosted}) { | 
| - var lockFile = _createLockFile(sandbox: sandbox, pkg: pkg, hosted: hosted); | 
| - | 
| var sources = new SourceRegistry(); | 
| sources.register(new HostedSource()); | 
| sources.register(new PathSource()); | 
| - d.file(p.join(package, 'pubspec.lock'), | 
| - lockFile.serialize(null, sources)).create(); | 
| + var lockFile = _createLockFile(sources, | 
| + sandbox: sandbox, pkg: pkg, hosted: hosted); | 
| + | 
| + d.file(p.join(package, 'pubspec.lock'), lockFile.serialize(null)).create(); | 
| } | 
| /// Creates a lock file for [package] without running `pub get`. | 
| @@ -740,8 +742,8 @@ void createLockFile(String package, {Iterable<String> sandbox, | 
| /// | 
| /// [hosted] is a list of package names to version strings for dependencies on | 
| /// hosted packages. | 
| -LockFile _createLockFile({Iterable<String> sandbox, | 
| -Iterable<String> pkg, Map<String, String> hosted}) { | 
| +LockFile _createLockFile(SourceRegistry sources, {Iterable<String> sandbox, | 
| + Iterable<String> pkg, Map<String, String> hosted}) { | 
| var dependencies = {}; | 
| if (sandbox != null) { | 
| @@ -778,23 +780,22 @@ Iterable<String> pkg, Map<String, String> hosted}) { | 
| pkg.forEach(_addPackage); | 
| } | 
| - var lockFile = new LockFile.empty(); | 
| - dependencies.forEach((name, dependencyPath) { | 
| - var id = new PackageId(name, 'path', new Version(0, 0, 0), { | 
| + var packages = dependencies.keys.map((name) { | 
| + var dependencyPath = dependencies[name]; | 
| + return new PackageId(name, 'path', new Version(0, 0, 0), { | 
| 'path': dependencyPath, | 
| 'relative': p.isRelative(dependencyPath) | 
| }); | 
| - lockFile.packages[name] = id; | 
| - }); | 
| + }).toList(); | 
| if (hosted != null) { | 
| hosted.forEach((name, version) { | 
| var id = new PackageId(name, 'hosted', new Version.parse(version), name); | 
| - lockFile.packages[name] = id; | 
| + packages.add(id); | 
| }); | 
| } | 
| - return lockFile; | 
| + return new LockFile(packages, sources); | 
| } | 
| /// Returns the path to the version of [package] used by pub. |