mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
92 lines
2.8 KiB
Dart
92 lines
2.8 KiB
Dart
// Copyright 2014 The Flutter Authors. 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:file/memory.dart';
|
|
import 'package:file_testing/file_testing.dart';
|
|
import 'package:flutter_tools/src/base/file_system.dart';
|
|
import 'package:flutter_tools/src/commands/update_packages.dart';
|
|
|
|
import '../src/common.dart';
|
|
|
|
// An example pubspec.yaml from flutter, not necessary for it to be up to date.
|
|
const String kFlutterPubspecYaml = r'''
|
|
name: flutter
|
|
author: Flutter Authors <flutter-dev@googlegroups.com>
|
|
description: A framework for writing Flutter applications
|
|
homepage: http://flutter.dev
|
|
|
|
environment:
|
|
# The pub client defaults to an <2.0.0 sdk constraint which we need to explicitly overwrite.
|
|
sdk: ">=2.2.2 <3.0.0"
|
|
|
|
dependencies:
|
|
# To update these, use "flutter update-packages --force-upgrade".
|
|
collection: 1.14.11
|
|
meta: 1.1.8
|
|
typed_data: 1.1.6
|
|
vector_math: 2.0.8
|
|
|
|
sky_engine:
|
|
sdk: flutter
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_goldens:
|
|
sdk: flutter
|
|
mockito: 4.1.1
|
|
|
|
archive: 2.0.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
|
|
|
# PUBSPEC CHECKSUM: 1437
|
|
''';
|
|
|
|
void main() {
|
|
testWithoutContext('createTemporaryFlutterSdk creates an unpinned flutter SDK', () {
|
|
final FileSystem fileSystem = MemoryFileSystem.test();
|
|
|
|
// Setup simplified FLutter SDK.
|
|
final Directory flutterSdk = fileSystem.directory('flutter')
|
|
..createSync();
|
|
// Create version file
|
|
flutterSdk.childFile('version').writeAsStringSync('1.2.3');
|
|
// Create a pubspec file
|
|
final Directory flutter = flutterSdk
|
|
.childDirectory('packages')
|
|
.childDirectory('flutter')
|
|
..createSync(recursive: true);
|
|
flutter
|
|
.childFile('pubspec.yaml')
|
|
.writeAsStringSync(kFlutterPubspecYaml);
|
|
|
|
// Create already parsed pubspecs.
|
|
final PubspecYaml flutterPubspec = PubspecYaml(flutter);
|
|
|
|
final Directory result = createTemporaryFlutterSdk(
|
|
fileSystem,
|
|
flutterSdk,
|
|
<PubspecYaml>[flutterPubspec],
|
|
);
|
|
|
|
expect(result, exists);
|
|
|
|
// The version file exists.
|
|
expect(result.childFile('version'), exists);
|
|
expect(result.childFile('version').readAsStringSync(), '1.2.3');
|
|
|
|
// The sky_engine package exists
|
|
expect(fileSystem.directory('${result.path}/bin/cache/pkg/sky_engine'), exists);
|
|
|
|
// The flutter pubspec exists
|
|
final File pubspecFile = fileSystem.file('${result.path}/packages/flutter/pubspec.yaml');
|
|
expect(pubspecFile, exists);
|
|
|
|
// The flutter pubspec contains `any` dependencies.
|
|
final PubspecYaml outputPubspec = PubspecYaml(pubspecFile.parent);
|
|
expect(outputPubspec.name, 'flutter');
|
|
expect(outputPubspec.dependencies.first.name, 'collection');
|
|
expect(outputPubspec.dependencies.first.version, 'any');
|
|
});
|
|
}
|