Refactor BaseDevice constructor
Summary: OS must always be defined. Reviewed By: jknoxville Differential Revision: D17204398 fbshipit-source-id: 0d84111c382af623843a41360bcb472394daf3f1
This commit is contained in:
committed by
Facebook Github Bot
parent
dbab2d1d6d
commit
4d7e776672
@@ -21,9 +21,8 @@ export default class AndroidDevice extends BaseDevice {
|
||||
title: string,
|
||||
adb: ADBClient,
|
||||
) {
|
||||
super(serial, deviceType, title);
|
||||
super(serial, deviceType, title, 'Android');
|
||||
this.adb = adb;
|
||||
this.os = 'Android';
|
||||
this.icon = 'icons/android.svg';
|
||||
this.adb.openLogcat(this.serial).then(reader => {
|
||||
reader.on('entry', entry => {
|
||||
|
||||
@@ -22,8 +22,7 @@ export default class ArchivedDevice extends BaseDevice {
|
||||
} else if (archivedDeviceType === 'physical') {
|
||||
archivedDeviceType = 'archivedPhysical';
|
||||
}
|
||||
super(serial, archivedDeviceType, title);
|
||||
this.os = os;
|
||||
super(serial, archivedDeviceType, title, os);
|
||||
this.logs = logEntries;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,10 +51,11 @@ export type DeviceExport = {
|
||||
export type OS = 'iOS' | 'Android' | 'Windows' | 'MacOS';
|
||||
|
||||
export default class BaseDevice {
|
||||
constructor(serial: string, deviceType: DeviceType, title: string) {
|
||||
constructor(serial: string, deviceType: DeviceType, title: string, os: OS) {
|
||||
this.serial = serial;
|
||||
this.title = title;
|
||||
this.deviceType = deviceType;
|
||||
this.os = os;
|
||||
}
|
||||
|
||||
// operating system of this device
|
||||
|
||||
@@ -41,9 +41,8 @@ export default class IOSDevice extends BaseDevice {
|
||||
buffer: string;
|
||||
|
||||
constructor(serial: string, deviceType: DeviceType, title: string) {
|
||||
super(serial, deviceType, title);
|
||||
super(serial, deviceType, title, 'iOS');
|
||||
this.icon = 'icons/ios.svg';
|
||||
this.os = 'iOS';
|
||||
this.buffer = '';
|
||||
this.log = this.startLogListener();
|
||||
}
|
||||
|
||||
@@ -9,8 +9,7 @@ import BaseDevice from './BaseDevice';
|
||||
|
||||
export default class MacDevice extends BaseDevice {
|
||||
constructor() {
|
||||
super('', 'physical', 'Mac');
|
||||
this.os = 'MacOS';
|
||||
super('', 'physical', 'Mac', 'MacOS');
|
||||
}
|
||||
|
||||
teardown() {}
|
||||
|
||||
@@ -9,8 +9,7 @@ import BaseDevice from './BaseDevice';
|
||||
|
||||
export default class WindowsDevice extends BaseDevice {
|
||||
constructor() {
|
||||
super('', 'physical', 'Windows');
|
||||
this.os = 'Windows';
|
||||
super('', 'physical', 'Windows', 'Windows');
|
||||
}
|
||||
|
||||
teardown() {}
|
||||
|
||||
@@ -20,7 +20,7 @@ test('REGISTER_DEVICE doesnt remove error', () => {
|
||||
|
||||
const endState = reducer(initialState, {
|
||||
type: 'REGISTER_DEVICE',
|
||||
payload: new BaseDevice('serial', 'physical', 'title'),
|
||||
payload: new BaseDevice('serial', 'physical', 'title', 'Android'),
|
||||
});
|
||||
|
||||
expect(endState.error).toEqual('something went wrong');
|
||||
|
||||
Reference in New Issue
Block a user