OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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 d.file. | 3 // BSD-style license that can be found in the LICENSE d.file. |
4 | 4 |
5 import 'package:path/path.dart' as path; | 5 import 'package:path/path.dart' as p; |
6 | 6 |
| 7 import '../../../lib/src/exit_codes.dart' as exit_codes; |
7 import '../../descriptor.dart' as d; | 8 import '../../descriptor.dart' as d; |
8 import '../../test_pub.dart'; | 9 import '../../test_pub.dart'; |
9 | 10 |
10 main() { | 11 main() { |
11 initConfig(); | 12 initConfig(); |
12 integration('path dependency when path is a file', () { | 13 // Regression test for issue 20103. |
| 14 integration('path dependency to an empty pubspec', () { |
13 d.dir('foo', [ | 15 d.dir('foo', [ |
14 d.libDir('foo'), | 16 d.libDir('foo'), |
15 d.libPubspec('foo', '0.0.1') | 17 d.file('pubspec.yaml', '') |
16 ]).create(); | 18 ]).create(); |
17 | 19 |
18 d.file('dummy.txt', '').create(); | |
19 var dummyPath = path.join(sandboxDir, 'dummy.txt'); | |
20 | |
21 d.dir(appPath, [ | 20 d.dir(appPath, [ |
22 d.appPubspec({ | 21 d.appPubspec({ |
23 "foo": {"path": dummyPath} | 22 "foo": {"path": "../foo"} |
24 }) | 23 }) |
25 ]).create(); | 24 ]).create(); |
26 | 25 |
27 pubGet(error: 'Path dependency for package foo must refer to a ' | 26 pubGet(exitCode: exit_codes.DATA, error: |
28 'directory, not a file. Was "$dummyPath".'); | 27 'Error on line 1, column 1 of ${p.join('..', 'foo', 'pubspec.yaml')}: ' |
| 28 'Missing the required "name" field.'); |
29 }); | 29 }); |
30 } | 30 } |
OLD | NEW |