// 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:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/io.dart'; import '../src/common.dart'; import 'test_utils.dart'; /// Verifies that `dart migrate` will run successfuly on the default `flutter create` /// template. void main() { testWithoutContext('dart migrate succeedes on flutter create template', () async { final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', platform.isWindows ? 'flutter.bat' : 'flutter'); final String dartBin = fileSystem.path.join(getFlutterRoot(), 'bin', platform.isWindows ? 'dart.bat' : 'dart'); Directory tempDir; try { tempDir = createResolvedTempDirectorySync('dart_migrate_test.'); final ProcessResult createResult = await processManager.run([ flutterBin, 'create', 'foo', ], workingDirectory: tempDir.path); if (createResult.exitCode != 0) { fail('flutter create did not work: ${createResult.stdout}${createResult.stderr}'); } final ProcessResult migrateResult = await processManager.run([ dartBin, 'migrate', '--apply-changes', ], workingDirectory: fileSystem.path.join(tempDir.path, 'foo')); if (migrateResult.exitCode != 0) { fail('dart migrate did not work: ${migrateResult.stdout}${migrateResult.stderr}'); } final ProcessResult analyzeResult = await processManager.run([ flutterBin, 'analyze', ], workingDirectory: fileSystem.path.join(tempDir.path, 'foo')); if (analyzeResult.exitCode != 0) { fail('flutter analyze had errors: ${analyzeResult.stdout}${analyzeResult.stderr}'); } } finally { tempDir?.deleteSync(recursive: true); } }); }