blob: 0fdb322af15c2ae16512388b5c0bfa08cb027734 [file] [log] [blame]
// Copyright (c) 2020, 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:test/test.dart';
import '../../descriptor.dart' as d;
import '../../test_pub.dart';
void main() {
test('shows pub outdated', () async {
await servePackages()
..serve('multiple_newer', '1.0.0')
..serve('multiple_newer', '1.0.1-unstable.1')
..serve('multiple_newer', '1.0.1')
..serve('multiple_newer', '1.0.2-unstable.1')
..serve('multiple_newer', '1.0.2-unstable.2')
..serve('multiple_newer_stable', '1.0.0')
..serve('multiple_newer_stable', '1.0.1')
..serve('multiple_newer_stable', '1.0.2')
..serve('multiple_newer_unstable', '1.0.0')
..serve('multiple_newer_unstable', '1.0.1-unstable.1')
..serve('multiple_newer_unstable', '1.0.1-unstable.2')
..serve('no_newer', '1.0.0')
..serve('one_newer_unstable', '1.0.0')
..serve('one_newer_unstable', '1.0.1-unstable.1')
..serve('one_newer_stable', '1.0.0')
..serve('one_newer_stable', '1.0.1');
// Constraint everything to the first version.
await d.appDir({
'multiple_newer': '1.0.0',
'multiple_newer_stable': '1.0.0',
'multiple_newer_unstable': '1.0.0',
'no_newer': '1.0.0',
'one_newer_unstable': '1.0.0',
'one_newer_stable': '1.0.0'
}).create();
// Upgrade everything.
await pubUpgrade(output: RegExp(r'''
3 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.$''', multiLine: true));
// Running inside Flutter this will recommend the Flutter variant.
await pubUpgrade(
environment: {'PUB_ENVIRONMENT': 'flutter_cli:get'}, output: RegExp(r'''
3 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.$''', multiLine: true));
// Upgrade `multiple_newer` to `1.0.1`.
await d.appDir({
'multiple_newer': '1.0.1',
'multiple_newer_stable': '1.0.0',
'multiple_newer_unstable': '1.0.0',
'no_newer': '1.0.0',
'one_newer_unstable': '1.0.0',
'one_newer_stable': '1.0.0'
}).create();
// Upgrade everything.
await pubUpgrade(output: RegExp(r'''
2 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.$''', multiLine: true));
// Upgrade `multiple_newer` to `1.0.2-unstable.1`.
await d.appDir({
'multiple_newer': '1.0.2-unstable.1',
'multiple_newer_stable': '1.0.0',
'multiple_newer_unstable': '1.0.0',
'no_newer': '1.0.0',
'one_newer_unstable': '1.0.0',
'one_newer_stable': '1.0.0'
}).create();
// Upgrade everything.
await pubUpgrade(output: RegExp(r'''
3 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.$''', multiLine: true));
// Upgrade all except `one_newer_stable`.
await d.appDir({
'multiple_newer': '1.0.2-unstable.2',
'multiple_newer_stable': '1.0.2',
'multiple_newer_unstable': '1.0.1-unstable.2',
'no_newer': '1.0.0',
'one_newer_unstable': '1.0.1-unstable.1',
'one_newer_stable': '1.0.0'
}).create();
// Upgrade everything.
await pubUpgrade(output: RegExp(r'''
1 package has newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.$''', multiLine: true));
});
}