flutter/packages/flutter_tools/test/integration.shard/build_preview_test.dart
Christopher Fujino fd1604666e
[flutter_tools] move build_preview_test from commands/permeable to integration shard (#136912)
Fixes https://github.com/flutter/flutter/issues/136907 by moving the test to the tools integration shard, which DOES have VS code installed.
2023-10-19 22:03:04 +00:00

54 lines
1.6 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 'dart:io';
import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/cache.dart';
import '../src/common.dart';
import '../src/context.dart';
import 'test_utils.dart';
void main() {
Cache.disableLocking();
late Directory tempDir;
final FileSystem fs = LocalFileSystemBlockingSetCurrentDirectory();
final String flutterBin = fs.path.join(getFlutterRoot(), 'bin', 'flutter');
final File previewBin = fs
.directory(getFlutterRoot())
.childDirectory('bin')
.childDirectory('cache')
.childDirectory('artifacts')
.childDirectory('flutter_preview')
.childFile('flutter_preview.exe');
setUp(() {
tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_preview_integration_test.');
});
tearDown(() {
tryToDelete(tempDir);
tryToDelete(previewBin);
});
testUsingContext('flutter build _preview creates preview device', () async {
final ProcessResult result = await processManager.run(<String>[
flutterBin,
'build',
'_preview',
'--verbose',
]);
expect(result, const ProcessResultMatcher());
expect(
previewBin,
exists,
);
}, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently
}