Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[battery] Remove deprecated
isSupported
(#7206)
- Loading branch information
Showing
6 changed files
with
79 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,100 +1,96 @@ | ||
import { Platform } from '@unimodules/core'; | ||
import * as Battery from 'expo-battery'; | ||
import * as Device from 'expo-device'; | ||
import { Platform } from '@unimodules/core'; | ||
|
||
export const name = 'Battery'; | ||
|
||
export async function test({ describe, it, expect, jasmine }) { | ||
const isExpectedToSupport = Device.isDevice || Platform.OS === 'android'; | ||
|
||
describe(`isAvailableAsync`, () => { | ||
it( | ||
isExpectedToSupport | ||
? `should be true for Android or iOS devices` | ||
: `should be false on iOS simulator`, | ||
async () => { | ||
expect(await Battery.isAvailableAsync()).toEqual(isExpectedToSupport); | ||
} | ||
); | ||
}); | ||
|
||
describe(`isSupported (deprecated)`, () => { | ||
it('should be equal to the result of isAvailableAsync()', async () => { | ||
expect(await Battery.isAvailableAsync()).toEqual(Battery.isSupported); | ||
describe('Battery', async () => { | ||
describe(`isAvailableAsync`, () => { | ||
it( | ||
isExpectedToSupport | ||
? `should be true for Android or iOS devices` | ||
: `should be false on iOS simulator`, | ||
async () => { | ||
expect(await Battery.isAvailableAsync()).toEqual(isExpectedToSupport); | ||
} | ||
); | ||
}); | ||
}); | ||
|
||
const isAvailable = await Battery.isAvailableAsync(); | ||
const isAvailable = await Battery.isAvailableAsync(); | ||
|
||
if (isAvailable) { | ||
describe(`getBatteryLevelAsync()`, () => { | ||
it(`returns a number between 0 and 1`, async () => { | ||
let batteryLevel = await Battery.getBatteryLevelAsync(); | ||
expect(batteryLevel).toEqual(jasmine.any(Number)); | ||
expect(batteryLevel).toBeLessThanOrEqual(1); | ||
expect(batteryLevel).toBeGreaterThan(0); | ||
if (isAvailable) { | ||
describe(`getBatteryLevelAsync()`, () => { | ||
it(`returns a number between 0 and 1`, async () => { | ||
let batteryLevel = await Battery.getBatteryLevelAsync(); | ||
expect(batteryLevel).toEqual(jasmine.any(Number)); | ||
expect(batteryLevel).toBeLessThanOrEqual(1); | ||
expect(batteryLevel).toBeGreaterThan(0); | ||
}); | ||
}); | ||
}); | ||
describe(`getBatteryState()`, () => { | ||
it(`returns a valid BatteryState enum value`, async () => { | ||
const batteryState = await Battery.getBatteryStateAsync(); | ||
expect( | ||
[ | ||
Battery.BatteryState.CHARGING, | ||
Battery.BatteryState.FULL, | ||
Battery.BatteryState.UNPLUGGED, | ||
].includes(batteryState) | ||
).toBe(true); | ||
describe(`getBatteryState()`, () => { | ||
it(`returns a valid BatteryState enum value`, async () => { | ||
const batteryState = await Battery.getBatteryStateAsync(); | ||
expect( | ||
[ | ||
Battery.BatteryState.CHARGING, | ||
Battery.BatteryState.FULL, | ||
Battery.BatteryState.UNPLUGGED, | ||
].includes(batteryState) | ||
).toBe(true); | ||
}); | ||
}); | ||
}); | ||
describe(`isLowPowerModeEnabledAsync()`, () => { | ||
it(`returns a boolean low power mode`, async () => { | ||
const lowPowerMode = await Battery.isLowPowerModeEnabledAsync(); | ||
expect(lowPowerMode).toEqual(jasmine.any(Boolean)); | ||
describe(`isLowPowerModeEnabledAsync()`, () => { | ||
it(`returns a boolean low power mode`, async () => { | ||
const lowPowerMode = await Battery.isLowPowerModeEnabledAsync(); | ||
expect(lowPowerMode).toEqual(jasmine.any(Boolean)); | ||
}); | ||
}); | ||
}); | ||
describe(`getPowerStateAsync()`, () => { | ||
it(`returns a valid PowerState object`, async () => { | ||
const powerState = await Battery.getPowerStateAsync(); | ||
expect(powerState).toEqual( | ||
jasmine.objectContaining({ | ||
batteryLevel: jasmine.any(Number), | ||
batteryState: jasmine.any(Number), | ||
lowPowerMode: jasmine.any(Boolean), | ||
}) | ||
); | ||
describe(`getPowerStateAsync()`, () => { | ||
it(`returns a valid PowerState object`, async () => { | ||
const powerState = await Battery.getPowerStateAsync(); | ||
expect(powerState).toEqual( | ||
jasmine.objectContaining({ | ||
batteryLevel: jasmine.any(Number), | ||
batteryState: jasmine.any(Number), | ||
lowPowerMode: jasmine.any(Boolean), | ||
}) | ||
); | ||
}); | ||
}); | ||
}); | ||
|
||
describe(`Event listeners`, () => { | ||
// TODO(Bacon) Add detox & spies | ||
// TODO: check that events don't get fired after we unsubscribe | ||
// but we currently don't have a way to programmatically set battery statuses | ||
describe(`Event listeners`, () => { | ||
// TODO(Bacon) Add detox & spies | ||
// TODO: check that events don't get fired after we unsubscribe | ||
// but we currently don't have a way to programmatically set battery statuses | ||
|
||
it(`addLowPowerModeListener() registers`, () => { | ||
const listener = Battery.addLowPowerModeListener(({ lowPowerMode }) => { | ||
console.log('powerMode changed!', lowPowerMode); | ||
it(`addLowPowerModeListener() registers`, () => { | ||
const listener = Battery.addLowPowerModeListener(({ lowPowerMode }) => { | ||
console.log('powerMode changed!', lowPowerMode); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
it(`addBatteryStateListener() registers`, () => { | ||
const listener = Battery.addBatteryStateListener(({ batteryState }) => { | ||
console.log('batteryState changed!', batteryState); | ||
it(`addBatteryStateListener() registers`, () => { | ||
const listener = Battery.addBatteryStateListener(({ batteryState }) => { | ||
console.log('batteryState changed!', batteryState); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
it(`addBatteryLevelListener() registers`, () => { | ||
const listener = Battery.addBatteryLevelListener(({ batteryLevel }) => { | ||
console.log('batteryLevel changed!', batteryLevel); | ||
it(`addBatteryLevelListener() registers`, () => { | ||
const listener = Battery.addBatteryLevelListener(({ batteryLevel }) => { | ||
console.log('batteryLevel changed!', batteryLevel); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
// TODO: Invoke callback somehow | ||
expect(listener).toBeDefined(); | ||
listener.remove(); | ||
}); | ||
}); | ||
} | ||
} | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters