Skip to content

Commit b1d9dca

Browse files
committed
[test] Move UA-CH test data into its own file
1 parent 146f182 commit b1d9dca

File tree

2 files changed

+248
-226
lines changed

2 files changed

+248
-226
lines changed

test/data/ua-ch/headers.js

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
const UACHTests = [
2+
{
3+
desc: 'Avast Secure Browser',
4+
headers : {
5+
'sec-ch-ua': '"Avast Secure Browser";v="131", "Chromium";v="131", "Not_A Brand";v="24"'
6+
},
7+
expect: {
8+
browser : {
9+
name : 'Avast Secure Browser',
10+
version : '131',
11+
major : '131',
12+
type : undefined
13+
}
14+
}
15+
},
16+
{
17+
desc: 'Brave',
18+
headers : {
19+
'sec-ch-ua': '"Not A(Brand";v="8", "Chromium";v="132", "Brave";v="132"'
20+
},
21+
expect: {
22+
browser : {
23+
name : 'Brave',
24+
version : '132',
25+
major : '132',
26+
type : undefined
27+
}
28+
}
29+
},
30+
{
31+
desc: 'Chrome',
32+
headers : {
33+
'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"'
34+
},
35+
expect: {
36+
browser : {
37+
name : 'Chrome',
38+
version : '111',
39+
major : '111',
40+
type : undefined
41+
}
42+
}
43+
},
44+
{
45+
desc: 'Chrome Headless',
46+
headers : {
47+
'sec-ch-ua': '"Chromium";v="124", "HeadlessChrome";v="124", "Not-A.Brand";v="99"'
48+
},
49+
expect: {
50+
browser : {
51+
name : 'Chrome Headless',
52+
version : '124',
53+
major : '124',
54+
type : undefined
55+
}
56+
}
57+
},
58+
{
59+
desc: 'Chrome WebView',
60+
headers : {
61+
'sec-ch-ua': '"Android WebView";v="123", "Not:A-Brand";v="8", "Chromium";v="123"'
62+
},
63+
expect: {
64+
browser : {
65+
name : 'Chrome WebView',
66+
version : '123',
67+
major : '123',
68+
type : undefined
69+
}
70+
}
71+
},
72+
{
73+
desc: 'DuckDuckGo',
74+
headers : {
75+
'sec-ch-ua': '"DuckDuckGo";v="131", "Chromium";v="131", "Not_A Brand";v="24"'
76+
},
77+
expect : {
78+
browser : {
79+
name : 'DuckDuckGo',
80+
version : '131',
81+
major : '131',
82+
type : undefined
83+
}
84+
}
85+
},
86+
{
87+
desc: 'Edge',
88+
headers : {
89+
'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"'
90+
},
91+
expect: {
92+
browser : {
93+
name : 'Edge',
94+
version : '120',
95+
major : '120',
96+
type : undefined
97+
}
98+
}
99+
},
100+
{
101+
desc: 'Edge WebView2',
102+
headers : {
103+
'sec-ch-ua': '" Not;A Brand";v="99", "Microsoft Edge";v="103", "Chromium";v="103", "Microsoft Edge WebView2";v="104"'
104+
},
105+
expect: {
106+
browser : {
107+
name : 'Edge WebView2',
108+
version : '104',
109+
major : '104',
110+
type : undefined
111+
}
112+
}
113+
},
114+
{
115+
desc: 'Huawei Browser',
116+
headers : {
117+
'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "HuaweiBrowser";v="114"'
118+
},
119+
expect: {
120+
browser : {
121+
name : 'Huawei Browser',
122+
version : '114',
123+
major : '114',
124+
type : undefined
125+
}
126+
}
127+
},
128+
{
129+
desc: 'MIUI Browser',
130+
headers : {
131+
'sec-ch-ua': '"Miui Browser";v="123", "Not:A-Brand";v="8", "Chromium";v="123"'
132+
},
133+
expect: {
134+
browser : {
135+
name : 'MIUI Browser',
136+
version : '123',
137+
major : '123',
138+
type : undefined
139+
}
140+
}
141+
},
142+
{
143+
desc: 'Oculus Browser',
144+
headers : {
145+
'sec-ch-ua': '"Chromium";v="130", "Oculus Browser";v="36", "Not?A_Brand";v="99"'
146+
},
147+
expect: {
148+
browser : {
149+
name : 'Oculus Browser',
150+
version : '36',
151+
major : '36',
152+
type : undefined
153+
}
154+
}
155+
},
156+
{
157+
desc: 'Opera',
158+
headers : {
159+
'sec-ch-ua': '"Opera";v="116", "Chromium";v="131", "Not_A Brand";v="24"'
160+
},
161+
expect: {
162+
browser : {
163+
name : 'Opera',
164+
version : '116',
165+
major : '116',
166+
type : undefined
167+
}
168+
}
169+
},
170+
{
171+
desc: 'Opera GX',
172+
headers : {
173+
'sec-ch-ua': '"Chromium";v="128", "Not;A=Brand";v="24", "Opera GX";v="114"'
174+
},
175+
expect: {
176+
browser : {
177+
name : 'Opera GX',
178+
version : '114',
179+
major : '114',
180+
type : undefined
181+
}
182+
}
183+
},
184+
{
185+
desc: 'Opera Mobi',
186+
headers : {
187+
'sec-ch-ua': '"OperaMobile";v="86", ";Not A Brand";v="99", "Opera";v="115", "Chromium";v="130"'
188+
},
189+
expect: {
190+
browser : {
191+
name : 'Opera Mobi',
192+
version : '86',
193+
major : '86',
194+
type : undefined
195+
}
196+
}
197+
},
198+
{
199+
desc: 'Opera Mobi',
200+
headers : {
201+
'sec-ch-ua': '"Chromium";v="132", "OperaMobile";v="87", "Opera";v="117", " Not A;Brand";v="99"'
202+
},
203+
expect: {
204+
browser : {
205+
name : 'Opera Mobi',
206+
version : '87',
207+
major : '87',
208+
type : undefined
209+
}
210+
}
211+
},
212+
{
213+
desc: 'Samsung Internet',
214+
headers : {
215+
'sec-ch-ua': '"Chromium";v="125", "Not.A/Brand";v="24", "Samsung Internet";v="27.0"'
216+
},
217+
expect: {
218+
browser : {
219+
name : 'Samsung Internet',
220+
version : '27.0',
221+
major : '27',
222+
type : undefined
223+
}
224+
}
225+
},
226+
{
227+
desc: 'Yandex',
228+
headers : {
229+
'sec-ch-ua': '"Chromium";v="130", "YaBrowser";v="24.12", "Not?A_Brand";v="99", "Yowser";v="2.5"'
230+
},
231+
expect: {
232+
browser : {
233+
name : 'Yandex',
234+
version : '24.12',
235+
major : '24',
236+
type : undefined
237+
}
238+
}
239+
}
240+
];
241+
242+
module.exports = UACHTests;

0 commit comments

Comments
 (0)