mirror of
https://github.com/apache/cordova-android.git
synced 2026-05-30 00:00:04 +08:00
refactor: unify target resolution for devices & emulators (#1101)
* refactor: unify target resolution for devices & emulators * fix: use unified target methods in platform-centric bins
This commit is contained in:
committed by
GitHub
parent
c774bf3311
commit
c04ea9b1c0
@@ -26,7 +26,6 @@ const CordovaError = require('cordova-common').CordovaError;
|
||||
const check_reqs = require('../../bin/templates/cordova/lib/check_reqs');
|
||||
|
||||
describe('emulator', () => {
|
||||
const EMULATOR_LIST = ['emulator-5555', 'emulator-5556', 'emulator-5557'];
|
||||
let emu;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -529,50 +528,4 @@ describe('emulator', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('resolveTarget', () => {
|
||||
const arch = 'arm7-test';
|
||||
|
||||
beforeEach(() => {
|
||||
const buildSpy = jasmine.createSpyObj('build', ['detectArchitecture']);
|
||||
buildSpy.detectArchitecture.and.returnValue(Promise.resolve(arch));
|
||||
emu.__set__('build', buildSpy);
|
||||
|
||||
spyOn(emu, 'list_started').and.returnValue(Promise.resolve(EMULATOR_LIST));
|
||||
});
|
||||
|
||||
it('should throw an error if there are no running emulators', () => {
|
||||
emu.list_started.and.returnValue(Promise.resolve([]));
|
||||
|
||||
return emu.resolveTarget().then(
|
||||
() => fail('Unexpectedly resolved'),
|
||||
err => {
|
||||
expect(err).toEqual(jasmine.any(CordovaError));
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw an error if the requested emulator is not running', () => {
|
||||
const targetEmulator = 'unstarted-emu';
|
||||
|
||||
return emu.resolveTarget(targetEmulator).then(
|
||||
() => fail('Unexpectedly resolved'),
|
||||
err => {
|
||||
expect(err.message).toContain(targetEmulator);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('should return info on the first running emulator if none is specified', () => {
|
||||
return emu.resolveTarget().then(emulatorInfo => {
|
||||
expect(emulatorInfo.target).toBe(EMULATOR_LIST[0]);
|
||||
});
|
||||
});
|
||||
|
||||
it('should return the emulator info', () => {
|
||||
return emu.resolveTarget(EMULATOR_LIST[1]).then(emulatorInfo => {
|
||||
expect(emulatorInfo).toEqual({ target: EMULATOR_LIST[1], arch, isEmulator: true });
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user