// Copyright 2016 The Chromium 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:flutter_tools/src/build_configuration.dart'; import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/toolchain.dart'; import 'package:test/test.dart'; import 'src/context.dart'; void main() { group('ToolConfiguration', () { Directory tempDir; setUp(() { tempDir = Directory.systemTemp.createTempSync('flutter_temp'); }); tearDown(() { tempDir.deleteSync(recursive: true); }); testUsingContext('using cache', () { ToolConfiguration toolConfig = new ToolConfiguration( overrideCache: new Cache(rootOverride: tempDir) ); expect( toolConfig.getToolsDirectory(platform: HostPlatform.linux_x64).path, endsWith('cache/artifacts/engine/linux-x64') ); expect( toolConfig.getEngineArtifactsDirectory(TargetPlatform.android_arm, BuildVariant.develop).path, endsWith('cache/artifacts/engine/android-arm') ); expect( toolConfig.getEngineArtifactsDirectory(TargetPlatform.android_arm, BuildVariant.deploy).path, endsWith('cache/artifacts/engine/android-arm-deploy') ); }); testUsingContext('using enginePath', () { ToolConfiguration toolConfig = new ToolConfiguration(); toolConfig.engineSrcPath = 'engine'; toolConfig.engineRelease = true; expect( toolConfig.getToolsDirectory(platform: HostPlatform.linux_x64).path, 'engine/out/Release' ); expect( toolConfig.getEngineArtifactsDirectory(TargetPlatform.android_arm, BuildVariant.develop).path, 'engine/out/android_Release' ); toolConfig.engineRelease = false; expect( toolConfig.getToolsDirectory(platform: HostPlatform.linux_x64).path, 'engine/out/Debug' ); }); }); }