OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 'package:path/path.dart' as p; | 7 import 'package:path/path.dart' as p; |
8 import 'package:scheduled_test/scheduled_test.dart'; | 8 import 'package:scheduled_test/scheduled_test.dart'; |
9 | 9 |
10 import '../descriptor.dart' as d; | 10 import '../descriptor.dart' as d; |
11 import '../test_pub.dart'; | 11 import '../test_pub.dart'; |
12 | 12 |
13 main() { | 13 main() { |
14 initConfig(); | 14 initConfig(); |
15 integration("creates a snapshot for an immediate dependency's executables", | 15 integration("creates a snapshot for an immediate dependency's executables", |
16 () { | 16 () { |
17 servePackages([packageMap("foo", "1.2.3")], contents: [ | 17 servePackages((builder) { |
18 d.dir("bin", [ | 18 builder.serve("foo", "1.2.3", contents: [ |
19 d.file("hello.dart", "void main() => print('hello!');"), | 19 d.dir("bin", [ |
20 d.file("goodbye.dart", "void main() => print('goodbye!');"), | 20 d.file("hello.dart", "void main() => print('hello!');"), |
21 d.file("shell.sh", "echo shell"), | 21 d.file("goodbye.dart", "void main() => print('goodbye!');"), |
22 d.dir("subdir", [ | 22 d.file("shell.sh", "echo shell"), |
23 d.file("sub.dart", "void main() => print('sub!');") | 23 d.dir("subdir", [ |
| 24 d.file("sub.dart", "void main() => print('sub!');") |
| 25 ]) |
24 ]) | 26 ]) |
25 ]) | 27 ]); |
26 ]); | 28 }); |
27 | 29 |
28 d.appDir({"foo": "1.2.3"}).create(); | 30 d.appDir({"foo": "1.2.3"}).create(); |
29 | 31 |
30 pubGet(output: allOf([ | 32 pubGet(output: allOf([ |
31 contains("Precompiled foo:hello."), | 33 contains("Precompiled foo:hello."), |
32 contains("Precompiled foo:goodbye.") | 34 contains("Precompiled foo:goodbye.") |
33 ])); | 35 ])); |
34 | 36 |
35 d.dir(p.join(appPath, '.pub', 'bin'), [ | 37 d.dir(p.join(appPath, '.pub', 'bin'), [ |
36 d.file('sdk-version', '0.1.2+3\n'), | 38 d.file('sdk-version', '0.1.2+3\n'), |
37 d.dir('foo', [ | 39 d.dir('foo', [ |
38 d.matcherFile('hello.dart.snapshot', contains('hello!')), | 40 d.matcherFile('hello.dart.snapshot', contains('hello!')), |
39 d.matcherFile('goodbye.dart.snapshot', contains('goodbye!')), | 41 d.matcherFile('goodbye.dart.snapshot', contains('goodbye!')), |
40 d.nothing('shell.sh.snapshot'), | 42 d.nothing('shell.sh.snapshot'), |
41 d.nothing('subdir') | 43 d.nothing('subdir') |
42 ]) | 44 ]) |
43 ]).validate(); | 45 ]).validate(); |
44 | 46 |
45 var process = pubRun(args: ['foo:hello']); | 47 var process = pubRun(args: ['foo:hello']); |
46 process.stdout.expect("hello!"); | 48 process.stdout.expect("hello!"); |
47 process.shouldExit(); | 49 process.shouldExit(); |
48 | 50 |
49 process = pubRun(args: ['foo:goodbye']); | 51 process = pubRun(args: ['foo:goodbye']); |
50 process.stdout.expect("goodbye!"); | 52 process.stdout.expect("goodbye!"); |
51 process.shouldExit(); | 53 process.shouldExit(); |
52 }); | 54 }); |
53 } | 55 } |
OLD | NEW |