| Index: utils/tests/pub/install/relative_symlink_test.dart
|
| diff --git a/utils/tests/pub/install/relative_symlink_test.dart b/utils/tests/pub/install/relative_symlink_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..166a7caa0636c833037fb031b2dc71da486b4f34
|
| --- /dev/null
|
| +++ b/utils/tests/pub/install/relative_symlink_test.dart
|
| @@ -0,0 +1,62 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library pub_tests;
|
| +
|
| +import 'dart:io';
|
| +
|
| +import '../../../../pkg/unittest/lib/unittest.dart';
|
| +import '../test_pub.dart';
|
| +
|
| +main() {
|
| + // Pub uses NTFS junction points to create links in the packages directory.
|
| + // These (unlike the symlinks that are supported in Vista and later) do not
|
| + // support relative paths. So this test, by design, will not pass on Windows.
|
| + // So just skip it.
|
| + if (Platform.operatingSystem == "windows") return;
|
| +
|
| + initConfig();
|
| + integration('uses a relative symlink for the self link', () {
|
| + dir(appPath, [
|
| + appPubspec([]),
|
| + libDir('foo')
|
| + ]).scheduleCreate();
|
| +
|
| + schedulePub(args: ['install'],
|
| + output: new RegExp(r"Dependencies installed!$"));
|
| +
|
| + scheduleRename(appPath, "moved");
|
| +
|
| + dir("moved", [
|
| + dir("packages", [
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| + ])
|
| + ]).scheduleValidate();
|
| + });
|
| +
|
| + integration('uses a relative symlink for secondary packages directory', () {
|
| + dir(appPath, [
|
| + appPubspec([]),
|
| + libDir('foo'),
|
| + dir("bin")
|
| + ]).scheduleCreate();
|
| +
|
| + schedulePub(args: ['install'],
|
| + output: new RegExp(r"Dependencies installed!$"));
|
| +
|
| + scheduleRename(appPath, "moved");
|
| +
|
| + dir("moved", [
|
| + dir("bin", [
|
| + dir("packages", [
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| + ])
|
| + ])
|
| + ]).scheduleValidate();
|
| + });
|
| +}
|
|
|