blob: 514d52fd98ea4416fa8ad59ca4562b1eb13f03c8 [file] [log] [blame]
// Copyright (c) 2022, 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:pub/src/exit_codes.dart' as exit_codes;
import 'package:test/test.dart';
import 'descriptor.dart' as d;
import 'test_pub.dart';
void main() {
forBothPubGetAndUpgrade((command) {
test('supports dependency_overrides', () async {
await servePackages()
..serve('lib', '1.0.0')
..serve('lib', '2.0.0');
await d.dir(appPath, [
d.appPubspec({'lib': '1.0.0'}),
d.dir('lib'),
d.pubspecOverrides({
'dependency_overrides': {'lib': '2.0.0'}
}),
]).create();
await pubCommand(
command,
warning:
'Warning: pubspec.yaml has overrides from pubspec_overrides.yaml\n'
'Warning: You are using these overridden dependencies:\n'
'! lib 2.0.0',
);
await d.dir(appPath, [
d.packageConfigFile([
d.packageConfigEntry(
name: 'lib',
version: '2.0.0',
languageVersion: '2.7',
),
d.packageConfigEntry(
name: 'myapp',
path: '.',
languageVersion: '0.1',
),
])
]).validate();
});
});
test('is ignored by publish command', () async {
await d.validPackage.create();
await d.dir(appPath, [
d.pubspecOverrides({
'dependency_overrides': {'lib': '1.0.0'}
}),
]).create();
await runPub(
args: ['lish', '--dry-run'],
exitCode: exit_codes.SUCCESS,
);
});
}