The Node.js® Website
at main 1.1 kB view raw
1import { detectOsInUserAgent } from '@/util/detectOS'; 2 3describe('detectOsInUserAgent', () => { 4 it.each([ 5 [ 6 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246', 7 'WIN', 8 ], 9 [ 10 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36', 11 'MAC', 12 ], 13 [ 14 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36', 15 'OTHER', 16 ], 17 [ 18 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1', 19 'LINUX', 20 ], 21 [ 22 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.3 Mobile/15E148 Safari/604.1', 23 'MAC', 24 ], 25 ['', 'OTHER'], 26 ['OTHERAgent/1.0', 'OTHER'], 27 [undefined, 'OTHER'], 28 ])('detectOsInUserAgent(%s) returns %s', (os, expected) => { 29 expect(detectOsInUserAgent(os)).toBe(expected); 30 }); 31});