2017-07-19 01:47:20 +00:00
|
|
|
// 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:convert';
|
|
|
|
|
|
|
|
import 'package:flutter_tools/src/android/android_sdk.dart';
|
|
|
|
import 'package:flutter_tools/src/android/android_studio.dart';
|
|
|
|
import 'package:flutter_tools/src/base/context.dart';
|
|
|
|
import 'package:flutter_tools/src/base/logger.dart';
|
|
|
|
import 'package:flutter_tools/src/commands/config.dart';
|
|
|
|
import 'package:mockito/mockito.dart';
|
|
|
|
|
2018-08-15 03:33:58 +00:00
|
|
|
import '../src/common.dart';
|
2017-07-19 01:47:20 +00:00
|
|
|
import '../src/context.dart';
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
MockAndroidStudio mockAndroidStudio;
|
|
|
|
MockAndroidSdk mockAndroidSdk;
|
|
|
|
|
|
|
|
setUp(() {
|
2018-09-12 06:29:29 +00:00
|
|
|
mockAndroidStudio = MockAndroidStudio();
|
|
|
|
mockAndroidSdk = MockAndroidSdk();
|
2017-07-19 01:47:20 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
group('config', () {
|
|
|
|
testUsingContext('machine flag', () async {
|
|
|
|
final BufferLogger logger = context[Logger];
|
2018-09-12 06:29:29 +00:00
|
|
|
final ConfigCommand command = ConfigCommand();
|
2017-07-19 01:47:20 +00:00
|
|
|
await command.handleMachine();
|
|
|
|
|
|
|
|
expect(logger.statusText, isNotEmpty);
|
2018-03-12 18:06:32 +00:00
|
|
|
final dynamic jsonObject = json.decode(logger.statusText);
|
|
|
|
expect(jsonObject, isMap);
|
2017-07-19 01:47:20 +00:00
|
|
|
|
2018-03-12 18:06:32 +00:00
|
|
|
expect(jsonObject.containsKey('android-studio-dir'), true);
|
|
|
|
expect(jsonObject['android-studio-dir'], isNotNull);
|
2017-07-19 01:47:20 +00:00
|
|
|
|
2018-03-12 18:06:32 +00:00
|
|
|
expect(jsonObject.containsKey('android-sdk'), true);
|
|
|
|
expect(jsonObject['android-sdk'], isNotNull);
|
2017-07-19 01:47:20 +00:00
|
|
|
}, overrides: <Type, Generator>{
|
|
|
|
AndroidStudio: () => mockAndroidStudio,
|
|
|
|
AndroidSdk: () => mockAndroidSdk,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
class MockAndroidStudio extends Mock implements AndroidStudio, Comparable<AndroidStudio> {
|
|
|
|
@override
|
|
|
|
String get directory => 'path/to/android/stdio';
|
|
|
|
}
|
|
|
|
|
|
|
|
class MockAndroidSdk extends Mock implements AndroidSdk {
|
|
|
|
@override
|
|
|
|
String get directory => 'path/to/android/sdk';
|
|
|
|
}
|