2016-01-28 06:38:57 +00:00
|
|
|
// Copyright 2016 The Chromium Authors. All rights reserved.
|
2016-01-27 22:03:41 +00:00
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2016-08-30 18:11:54 +00:00
|
|
|
import 'dart:async';
|
|
|
|
|
2016-01-27 22:03:41 +00:00
|
|
|
import 'package:flutter_tools/src/device.dart';
|
|
|
|
import 'package:test/test.dart';
|
|
|
|
|
2016-02-13 20:00:41 +00:00
|
|
|
import 'src/context.dart';
|
2016-02-07 03:19:50 +00:00
|
|
|
|
2016-03-10 01:43:14 +00:00
|
|
|
void main() {
|
2016-01-27 22:03:41 +00:00
|
|
|
group('DeviceManager', () {
|
2016-02-07 03:19:50 +00:00
|
|
|
testUsingContext('getDevices', () async {
|
2016-01-27 22:03:41 +00:00
|
|
|
// Test that DeviceManager.getDevices() doesn't throw.
|
|
|
|
DeviceManager deviceManager = new DeviceManager();
|
|
|
|
List<Device> devices = await deviceManager.getDevices();
|
|
|
|
expect(devices, isList);
|
|
|
|
});
|
2016-08-30 18:11:54 +00:00
|
|
|
|
|
|
|
testUsingContext('getDeviceById', () async {
|
|
|
|
DeviceManager deviceManager = new DeviceManager();
|
|
|
|
_MockDevice device1 = new _MockDevice('Nexus 5', '0553790d0a4e726f');
|
|
|
|
_MockDevice device2 = new _MockDevice('Nexus 5X', '01abfc49119c410e');
|
|
|
|
_MockDevice device3 = new _MockDevice('iPod touch', '82564b38861a9a5');
|
|
|
|
List<Device> devices = <Device>[device1, device2, device3];
|
|
|
|
|
|
|
|
Future<Null> expectDevice(String id, Device expected) async {
|
|
|
|
expect(await deviceManager.getDeviceById(id, devices), expected);
|
|
|
|
}
|
|
|
|
expectDevice('01abfc49119c410e', device2);
|
|
|
|
expectDevice('Nexus 5X', device2);
|
|
|
|
expectDevice('0553790d0a4e726f', device1);
|
|
|
|
expectDevice('Nexus 5', device1);
|
|
|
|
expectDevice('0553790', device1);
|
|
|
|
expectDevice('Nexus', null);
|
|
|
|
});
|
2016-01-27 22:03:41 +00:00
|
|
|
});
|
|
|
|
}
|
2016-08-30 18:11:54 +00:00
|
|
|
|
|
|
|
class _MockDevice extends Device {
|
|
|
|
@override
|
|
|
|
final String name;
|
|
|
|
|
|
|
|
_MockDevice(this.name, String id) : super(id);
|
|
|
|
|
|
|
|
@override
|
|
|
|
void noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
|
|
|
|
}
|