OLD | NEW |
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 library pub_tests; | 5 library pub_tests; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 | 8 |
9 import '../../test_pub.dart'; | 9 import '../../test_pub.dart'; |
10 import '../../../../../pkg/unittest/lib/unittest.dart'; | 10 import '../../../../../pkg/unittest/lib/unittest.dart'; |
11 | 11 |
12 main() { | 12 main() { |
13 test('checks out and updates a package from Git', () { | 13 test('checks out and updates a package from Git', () { |
14 ensureGit(); | 14 ensureGit(); |
15 | 15 |
16 git('foo.git', [ | 16 git('foo.git', [ |
17 libDir('foo'), | 17 libDir('foo'), |
18 libPubspec('foo', '1.0.0') | 18 libPubspec('foo', '1.0.0') |
19 ]).scheduleCreate(); | 19 ]).scheduleCreate(); |
20 | 20 |
21 appDir([{"git": "../foo.git"}]).scheduleCreate(); | 21 appDir([{"git": "../foo.git"}]).scheduleCreate(); |
22 | 22 |
23 schedulePub(args: ['install'], | 23 schedulePub(args: ['install'], |
24 output: new RegExp(r"Dependencies installed!$")); | 24 output: const RegExp(r"Dependencies installed!$")); |
25 | 25 |
26 dir(cachePath, [ | 26 dir(cachePath, [ |
27 dir('git', [ | 27 dir('git', [ |
28 dir('cache', [gitPackageRepoCacheDir('foo')]), | 28 dir('cache', [gitPackageRepoCacheDir('foo')]), |
29 gitPackageRevisionCacheDir('foo') | 29 gitPackageRevisionCacheDir('foo') |
30 ]) | 30 ]) |
31 ]).scheduleValidate(); | 31 ]).scheduleValidate(); |
32 | 32 |
33 dir(packagesPath, [ | 33 dir(packagesPath, [ |
34 dir('foo', [ | 34 dir('foo', [ |
35 file('foo.dart', 'main() => "foo";') | 35 file('foo.dart', 'main() => "foo";') |
36 ]) | 36 ]) |
37 ]).scheduleValidate(); | 37 ]).scheduleValidate(); |
38 | 38 |
39 // TODO(nweiz): remove this once we support pub update | 39 // TODO(nweiz): remove this once we support pub update |
40 dir(packagesPath).scheduleDelete(); | 40 dir(packagesPath).scheduleDelete(); |
41 file('$appPath/pubspec.lock', '').scheduleDelete(); | 41 file('$appPath/pubspec.lock', '').scheduleDelete(); |
42 | 42 |
43 git('foo.git', [ | 43 git('foo.git', [ |
44 libDir('foo', 'foo 2'), | 44 libDir('foo', 'foo 2'), |
45 libPubspec('foo', '1.0.0') | 45 libPubspec('foo', '1.0.0') |
46 ]).scheduleCommit(); | 46 ]).scheduleCommit(); |
47 | 47 |
48 schedulePub(args: ['install'], | 48 schedulePub(args: ['install'], |
49 output: new RegExp(r"Dependencies installed!$")); | 49 output: const RegExp(r"Dependencies installed!$")); |
50 | 50 |
51 // When we download a new version of the git package, we should re-use the | 51 // When we download a new version of the git package, we should re-use the |
52 // git/cache directory but create a new git/ directory. | 52 // git/cache directory but create a new git/ directory. |
53 dir(cachePath, [ | 53 dir(cachePath, [ |
54 dir('git', [ | 54 dir('git', [ |
55 dir('cache', [gitPackageRepoCacheDir('foo')]), | 55 dir('cache', [gitPackageRepoCacheDir('foo')]), |
56 gitPackageRevisionCacheDir('foo'), | 56 gitPackageRevisionCacheDir('foo'), |
57 gitPackageRevisionCacheDir('foo', 2) | 57 gitPackageRevisionCacheDir('foo', 2) |
58 ]) | 58 ]) |
59 ]).scheduleValidate(); | 59 ]).scheduleValidate(); |
60 | 60 |
61 dir(packagesPath, [ | 61 dir(packagesPath, [ |
62 dir('foo', [ | 62 dir('foo', [ |
63 file('foo.dart', 'main() => "foo 2";') | 63 file('foo.dart', 'main() => "foo 2";') |
64 ]) | 64 ]) |
65 ]).scheduleValidate(); | 65 ]).scheduleValidate(); |
66 | 66 |
67 run(); | 67 run(); |
68 }); | 68 }); |
69 } | 69 } |
OLD | NEW |