mirror of
https://github.com/pybricks/pybricks-code.git
synced 2026-09-12 09:36:27 +00:00
os: add isAndroid() function
This will be used to test if the app is running on Android.
This commit is contained in:
committed by
David Lechner
parent
a0130ada99
commit
56c739fa08
+12
-1
@@ -1,12 +1,23 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2021 The Pybricks Authors
|
||||
|
||||
import { isMacOS, isWindows, prefersDarkMode } from './os';
|
||||
import { isAndroid, isMacOS, isWindows, prefersDarkMode } from './os';
|
||||
|
||||
afterEach(() => {
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
|
||||
describe('isAndroid', () => {
|
||||
test('is true', () => {
|
||||
jest.spyOn(navigator, 'userAgent', 'get').mockReturnValue('Android');
|
||||
expect(isAndroid()).toBeTruthy();
|
||||
});
|
||||
test('is false', () => {
|
||||
jest.spyOn(navigator, 'userAgent', 'get').mockReturnValue('Linux');
|
||||
expect(isAndroid()).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
describe('isMacOS', () => {
|
||||
test('is true', () => {
|
||||
jest.spyOn(navigator, 'platform', 'get').mockReturnValue('MacIntel');
|
||||
|
||||
@@ -3,6 +3,17 @@
|
||||
|
||||
// Utility functions for dealing with operating systems.
|
||||
|
||||
// TODO: replace with navigator.userAgentData when it is more widely available
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/User-Agent_Client_Hints_API
|
||||
|
||||
/**
|
||||
* Tests if we are running on Android.
|
||||
* @returns `true` if running on Android, otherwise `false`.
|
||||
*/
|
||||
export function isAndroid(): boolean {
|
||||
return /android/i.test(navigator.userAgent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests if we are running on macOS.
|
||||
* @returns `true` if running on macOS, otherwise `false`.
|
||||
|
||||
Reference in New Issue
Block a user