devices_test.dart 2.09 KB
Newer Older
1 2 3 4
// Copyright 2015 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.

5
import 'dart:async';
6 7 8
import 'dart:convert';
import 'dart:io';

9
import 'package:flutter_tools/src/android/android_sdk.dart';
10
import 'package:flutter_tools/src/cache.dart';
11
import 'package:flutter_tools/src/commands/devices.dart';
12
import 'package:flutter_tools/src/device.dart';
13 14
import 'package:mockito/mockito.dart';
import 'package:process/process.dart';
15

16 17
import '../src/common.dart';
import '../src/context.dart';
18

19
void main() {
20
  group('devices', () {
21 22 23 24
    setUpAll(() {
      Cache.disableLocking();
    });

25
    testUsingContext('returns 0 when called', () async {
26
      final DevicesCommand command = DevicesCommand();
27
      await createTestCommandRunner(command).run(<String>['devices']);
28
    });
29

30
    testUsingContext('no error when no connected devices', () async {
31
      final DevicesCommand command = DevicesCommand();
32 33
      await createTestCommandRunner(command).run(<String>['devices']);
      expect(testLogger.statusText, contains('No devices detected'));
34 35
    }, overrides: <Type, Generator>{
      AndroidSdk: () => null,
36 37
      DeviceManager: () => DeviceManager(),
      ProcessManager: () => MockProcessManager(),
38 39 40
    });
  });
}
41 42

class MockProcessManager extends Mock implements ProcessManager {
43 44 45 46 47
  @override
  Future<ProcessResult> run(
      List<dynamic> command, {
        String workingDirectory,
        Map<String, String> environment,
48 49
        bool includeParentEnvironment = true,
        bool runInShell = false,
50 51
        Encoding stdoutEncoding = systemEncoding,
        Encoding stderrEncoding = systemEncoding,
52
      }) async {
53
    return ProcessResult(0, 0, '', '');
54 55
  }

56 57 58 59 60
  @override
  ProcessResult runSync(
      List<dynamic> command, {
        String workingDirectory,
        Map<String, String> environment,
61 62
        bool includeParentEnvironment = true,
        bool runInShell = false,
63 64
        Encoding stdoutEncoding = systemEncoding,
        Encoding stderrEncoding = systemEncoding,
65
      }) {
66
    return ProcessResult(0, 0, '', '');
67 68
  }
}