| Index: utils/tests/pub/install/git/unlock_if_incompatible_test.dart | 
| diff --git a/utils/tests/pub/install/git/unlock_if_incompatible_test.dart b/utils/tests/pub/install/git/unlock_if_incompatible_test.dart | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..318180a0d641ff250fc49c169c39d9e172edcd17 | 
| --- /dev/null | 
| +++ b/utils/tests/pub/install/git/unlock_if_incompatible_test.dart | 
| @@ -0,0 +1,50 @@ | 
| +// 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('../../test_pub.dart'); | 
| +#import('../../../../../pkg/unittest/unittest.dart'); | 
| + | 
| +main() { | 
| +  test('updates a locked Git package with a new incompatible constraint', () { | 
| +    ensureGit(); | 
| + | 
| +    git('foo.git', [ | 
| +      libDir('foo'), | 
| +      libPubspec('foo', '0.5.0') | 
| +    ]).scheduleCreate(); | 
| + | 
| +    appDir([{"git": "../foo.git"}]).scheduleCreate(); | 
| + | 
| +    schedulePub(args: ['install'], | 
| +        output: const RegExp(r"Dependencies installed!$")); | 
| + | 
| +    dir(packagesPath, [ | 
| +      dir('foo', [ | 
| +        file('foo.dart', 'main() => "foo";') | 
| +      ]) | 
| +    ]).scheduleValidate(); | 
| + | 
| +    git('foo.git', [ | 
| +      libDir('foo', 'foo 1.0.0'), | 
| +      libPubspec("foo", "1.0.0") | 
| +    ]).scheduleCommit(); | 
| + | 
| +    appDir([{"git": "../foo.git", "version": ">=1.0.0"}]).scheduleCreate(); | 
| + | 
| +    schedulePub(args: ['install'], | 
| +        output: const RegExp(r"Dependencies installed!$")); | 
| + | 
| +    dir(packagesPath, [ | 
| +      dir('foo', [ | 
| +        file('foo.dart', 'main() => "foo 1.0.0";') | 
| +      ]) | 
| +    ]).scheduleValidate(); | 
| + | 
| +    run(); | 
| +  }); | 
| +} | 
|  |