mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
[PM-8582] Move Safari browser check to libs/platform (#11007)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
export * from "./services/browser-service";
|
||||
|
||||
41
libs/platform/src/services/browser-service.spec.ts
Normal file
41
libs/platform/src/services/browser-service.spec.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { isBrowserSafariApi } from "./browser-service";
|
||||
|
||||
describe("browser-service", () => {
|
||||
describe("isBrowserSafariApi", () => {
|
||||
it("returns true if browser is safari", () => {
|
||||
jest
|
||||
.spyOn(navigator, "userAgent", "get")
|
||||
.mockReturnValue(
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15",
|
||||
);
|
||||
|
||||
const result = isBrowserSafariApi();
|
||||
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it("returns false if browser is chrome", () => {
|
||||
jest
|
||||
.spyOn(navigator, "userAgent", "get")
|
||||
.mockReturnValue(
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
|
||||
);
|
||||
|
||||
const result = isBrowserSafariApi();
|
||||
|
||||
expect(result).toBe(false);
|
||||
});
|
||||
|
||||
it("returns false if browser is firefox", () => {
|
||||
jest
|
||||
.spyOn(navigator, "userAgent", "get")
|
||||
.mockReturnValue(
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0",
|
||||
);
|
||||
|
||||
const result = isBrowserSafariApi();
|
||||
|
||||
expect(result).toBe(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
7
libs/platform/src/services/browser-service.ts
Normal file
7
libs/platform/src/services/browser-service.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export function isBrowserSafariApi(): boolean {
|
||||
return (
|
||||
navigator.userAgent.indexOf(" Safari/") !== -1 &&
|
||||
navigator.userAgent.indexOf(" Chrome/") === -1 &&
|
||||
navigator.userAgent.indexOf(" Chromium/") === -1
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user