Created
January 7, 2022 09:05
-
-
Save wenshin/1e612979b42c1a3aa028c27222f00876 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
import { parseUA } from './parseUA'; | |
test('parseUA', () => { | |
expect( | |
parseUA( | |
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36' | |
) | |
).toEqual({ | |
os: 'macOS', | |
osVersion: '10_15_7', | |
device: 'Macintosh', | |
deviceModel: 'Macintosh', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148' | |
) | |
).toEqual({ | |
os: 'iOS', | |
osVersion: '12_2', | |
device: 'iPhone', | |
deviceModel: 'iPhone', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (iPad; CPU OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148 Safari/604.1' | |
) | |
).toEqual({ | |
os: 'iOS', | |
osVersion: '13_0', | |
device: 'iPad', | |
deviceModel: 'iPad', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (Linux; Android 8.1.0; BBE100-2 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36' | |
) | |
).toEqual({ | |
os: 'Android', | |
osVersion: '8.1.0', | |
device: 'BBE100-2', | |
deviceModel: 'BBE100-2', | |
}); | |
expect( | |
parseUA( | |
'Dalvik/2.1.0 (Linux; U; Android 8.1.0; motorola one power Build/OPT28.81-39)' | |
) | |
).toEqual({ | |
os: 'Android', | |
osVersion: '8.1.0', | |
device: 'motorola', | |
deviceModel: 'motorola one power', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (Linux; Android 8.1.0; SAMSUNG SM-N960F Build/M1AJQ) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/8.0 Chrome/63.0.3239.111 Mobile Safari/537.36' | |
) | |
).toEqual({ | |
os: 'Android', | |
osVersion: '8.1.0', | |
device: 'SAMSUNG', | |
deviceModel: 'SAMSUNG SM-N960F', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (Linux; Android 8.1.0; SM-N960F Build/M1AJQ) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/8.0 Chrome/63.0.3239.111 Mobile Safari/537.36' | |
) | |
).toEqual({ | |
os: 'Android', | |
osVersion: '8.1.0', | |
device: 'SM-N960F', | |
deviceModel: 'SM-N960F', | |
}); | |
expect( | |
parseUA( | |
'Mozilla/5.0 (Linux; Android 8.1.0; SM-T830 Build/M1AJQ; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.91 Safari/537.36' | |
) | |
).toEqual({ | |
os: 'Android', | |
osVersion: '8.1.0', | |
device: 'SM-T830', | |
deviceModel: 'SM-T830', | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment