blob: 2d737d6827a512d692ee257b6f486fd1d84d0e74 [file] [log] [blame]
// Copyright (c) 2023, 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.
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'descriptor.dart' as d;
import 'test_pub.dart';
void main() {
test('Gives hint when solve failure concerns a pinned flutter package',
() async {
await d.dir('flutter', [
d.dir('packages', [
d.dir(
'flutter_foo',
[
d.libPubspec('flutter_foo', '0.0.1', deps: {'tool': '1.0.0'}),
],
),
]),
d.flutterVersion('1.2.3'),
]).create();
await servePackages()
..serve('bar', '1.0.0', deps: {'tool': '^2.0.0'})
..serve('tool', '1.0.0')
..serve('tool', '2.0.0');
await d.appDir(
dependencies: {
'bar': 'any',
'flutter_foo': {'sdk': 'flutter'},
},
).create();
await pubGet(
environment: {'FLUTTER_ROOT': p.join(d.sandbox, 'flutter')},
error: contains(
'Note: tool is pinned to version 1.0.0 by flutter_foo from the flutter SDK.',
),
);
});
test('Gives hint when solve failure concerns a pinned flutter package',
() async {
await d.dir('flutter', [
d.dir('packages', [
d.dir(
'flutter_foo',
[
d.libPubspec('flutter_foo', '0.0.1', deps: {'tool': '1.0.0'}),
],
),
]),
d.flutterVersion('1.2.3'),
]).create();
await servePackages()
..serve('tool', '1.0.0', deps: {'bar': '^2.0.0'})
..serve('bar', '1.0.0');
await d.appDir(
dependencies: {
'bar': 'any',
'flutter_foo': {'sdk': 'flutter'},
},
).create();
await pubGet(
environment: {'FLUTTER_ROOT': p.join(d.sandbox, 'flutter')},
error: contains(
'Note: tool is pinned to version 1.0.0 by flutter_foo from the flutter SDK.',
),
);
});
}