Files
school_compare/nextjs-app/__tests__/lib/device.test.ts
T

19 lines
1.0 KiB
TypeScript
Raw Normal View History

import { isHandheldUserAgent } from '@/lib/device';
describe('isHandheldUserAgent', () => {
it.each([
['iPhone Safari', 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1'],
['Android Chrome', 'Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Mobile Safari/537.36'],
['Android tablet', 'Mozilla/5.0 (Linux; Android 13; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36'],
])('reads %s as handheld', (_, ua) => {
expect(isHandheldUserAgent(ua)).toBe(true);
});
it.each([
['desktop Chrome', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36'],
['Windows Edge', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36 Edg/126.0'],
['missing', null],
])('reads %s as not handheld', (_, ua) => {
expect(isHandheldUserAgent(ua)).toBe(false);
});
});