From 20e195de8b1677be52196c90ea0ea241519eb7f4 Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Tue, 26 Nov 2024 20:45:23 +0700 Subject: [PATCH] Move os test spec into separate files --- src/enums/ua-parser-enums.js | 1 + test/specs/os/aix.json | 11 + test/specs/os/amigaos.json | 11 + test/specs/os/android-x86.json | 11 + test/specs/os/android.json | 20 + test/specs/os/arch.json | 11 + test/specs/os/bada.json | 11 + test/specs/os/beos.json | 11 + test/specs/os/blackberry.json | 20 + test/specs/os/centos.json | 11 + test/specs/os/chrome-os.json | 20 + test/specs/os/chromecast-android.json | 11 + test/specs/os/chromecast-fuchsia.json | 11 + test/specs/os/chromecast-linux.json | 11 + test/specs/os/chromecast-smartspeaker.json | 11 + test/specs/os/contiki.json | 11 + test/specs/os/debian.json | 56 + test/specs/os/deepin.json | 11 + test/specs/os/dragonfly.json | 11 + test/specs/os/elementary-os.json | 11 + test/specs/os/fedora.json | 29 + test/specs/os/firefox-os.json | 29 + test/specs/os/freebsd.json | 11 + test/specs/os/fuchsia.json | 11 + test/specs/os/gentoo.json | 39 + test/specs/os/ghostbsd.json | 11 + test/specs/os/haiku.json | 11 + test/specs/os/harmonyos.json | 11 + test/specs/os/hp-ux.json | 11 + test/specs/os/hurd.json | 11 + test/specs/os/ios.json | 56 + test/specs/os/joli.json | 11 + test/specs/os/kaios.json | 11 + test/specs/os/kubuntu.json | 11 + test/specs/os/linpus.json | 11 + test/specs/os/linspire.json | 11 + test/specs/os/linux.json | 11 + test/specs/os/macos.json | 38 + test/specs/os/maemo.json | 11 + test/specs/os/mandriva.json | 11 + test/specs/os/manjaro.json | 11 + test/specs/os/meego.json | 11 + test/specs/os/minix.json | 11 + test/specs/os/mint.json | 29 + test/specs/os/morphos.json | 11 + test/specs/os/netbsd.json | 11 + test/specs/os/netrange.json | 11 + test/specs/os/nettv.json | 11 + test/specs/os/nintendo.json | 11 + test/specs/os/openbsd.json | 11 + test/specs/os/openharmony.json | 11 + test/specs/os/os-all.json | 1322 -------------------- test/specs/os/os2.json | 11 + test/specs/os/palm.json | 11 + test/specs/os/pclinuxos.json | 11 + test/specs/os/pico.json | 26 + test/specs/os/plan9.json | 11 + test/specs/os/playstation.json | 20 + test/specs/os/qnx.json | 11 + test/specs/os/raspbian.json | 20 + test/specs/os/redhat.json | 38 + test/specs/os/rim-tablet-os.json | 11 + test/specs/os/risc-os.json | 11 + test/specs/os/sabayon.json | 11 + test/specs/os/sailfish.json | 11 + test/specs/os/serenityos.json | 11 + test/specs/os/series40.json | 11 + test/specs/os/slackware.json | 11 + test/specs/os/solaris.json | 20 + test/specs/os/suse.json | 11 + test/specs/os/symbian.json | 20 + test/specs/os/tizen.json | 29 + test/specs/os/ubuntu.json | 20 + test/specs/os/unix.json | 11 + test/specs/os/watchos.json | 29 + test/specs/os/webos.json | 65 + test/specs/os/windows-mobile.json | 20 + test/specs/os/windows-phone.json | 29 + test/specs/os/windows.json | 146 +++ test/specs/os/xbox.json | 47 + test/specs/os/zenwalk.json | 11 + 81 files changed, 1471 insertions(+), 1322 deletions(-) create mode 100644 test/specs/os/aix.json create mode 100644 test/specs/os/amigaos.json create mode 100644 test/specs/os/android-x86.json create mode 100644 test/specs/os/android.json create mode 100644 test/specs/os/arch.json create mode 100644 test/specs/os/bada.json create mode 100644 test/specs/os/beos.json create mode 100644 test/specs/os/blackberry.json create mode 100644 test/specs/os/centos.json create mode 100644 test/specs/os/chrome-os.json create mode 100644 test/specs/os/chromecast-android.json create mode 100644 test/specs/os/chromecast-fuchsia.json create mode 100644 test/specs/os/chromecast-linux.json create mode 100644 test/specs/os/chromecast-smartspeaker.json create mode 100644 test/specs/os/contiki.json create mode 100644 test/specs/os/debian.json create mode 100644 test/specs/os/deepin.json create mode 100644 test/specs/os/dragonfly.json create mode 100644 test/specs/os/elementary-os.json create mode 100644 test/specs/os/fedora.json create mode 100644 test/specs/os/firefox-os.json create mode 100644 test/specs/os/freebsd.json create mode 100644 test/specs/os/fuchsia.json create mode 100644 test/specs/os/gentoo.json create mode 100644 test/specs/os/ghostbsd.json create mode 100644 test/specs/os/haiku.json create mode 100644 test/specs/os/harmonyos.json create mode 100644 test/specs/os/hp-ux.json create mode 100644 test/specs/os/hurd.json create mode 100644 test/specs/os/ios.json create mode 100644 test/specs/os/joli.json create mode 100644 test/specs/os/kaios.json create mode 100644 test/specs/os/kubuntu.json create mode 100644 test/specs/os/linpus.json create mode 100644 test/specs/os/linspire.json create mode 100644 test/specs/os/linux.json create mode 100644 test/specs/os/macos.json create mode 100644 test/specs/os/maemo.json create mode 100644 test/specs/os/mandriva.json create mode 100644 test/specs/os/manjaro.json create mode 100644 test/specs/os/meego.json create mode 100644 test/specs/os/minix.json create mode 100644 test/specs/os/mint.json create mode 100644 test/specs/os/morphos.json create mode 100644 test/specs/os/netbsd.json create mode 100644 test/specs/os/netrange.json create mode 100644 test/specs/os/nettv.json create mode 100644 test/specs/os/nintendo.json create mode 100644 test/specs/os/openbsd.json create mode 100644 test/specs/os/openharmony.json delete mode 100644 test/specs/os/os-all.json create mode 100644 test/specs/os/os2.json create mode 100644 test/specs/os/palm.json create mode 100644 test/specs/os/pclinuxos.json create mode 100644 test/specs/os/pico.json create mode 100644 test/specs/os/plan9.json create mode 100644 test/specs/os/playstation.json create mode 100644 test/specs/os/qnx.json create mode 100644 test/specs/os/raspbian.json create mode 100644 test/specs/os/redhat.json create mode 100644 test/specs/os/rim-tablet-os.json create mode 100644 test/specs/os/risc-os.json create mode 100644 test/specs/os/sabayon.json create mode 100644 test/specs/os/sailfish.json create mode 100644 test/specs/os/serenityos.json create mode 100644 test/specs/os/series40.json create mode 100644 test/specs/os/slackware.json create mode 100644 test/specs/os/solaris.json create mode 100644 test/specs/os/suse.json create mode 100644 test/specs/os/symbian.json create mode 100644 test/specs/os/tizen.json create mode 100644 test/specs/os/ubuntu.json create mode 100644 test/specs/os/unix.json create mode 100644 test/specs/os/watchos.json create mode 100644 test/specs/os/webos.json create mode 100644 test/specs/os/windows-mobile.json create mode 100644 test/specs/os/windows-phone.json create mode 100644 test/specs/os/windows.json create mode 100644 test/specs/os/xbox.json create mode 100644 test/specs/os/zenwalk.json diff --git a/src/enums/ua-parser-enums.js b/src/enums/ua-parser-enums.js index 37066fca7..42a1462c6 100644 --- a/src/enums/ua-parser-enums.js +++ b/src/enums/ua-parser-enums.js @@ -323,6 +323,7 @@ const OS = Object.freeze({ IOS: 'iOS', JOLI: 'Joli', KAIOS: 'KaiOS', + KUBUNTU: 'Kubuntu', LINPUS: 'Linpus', LINSPIRE: 'Linspire', LINUX: 'Linux', diff --git a/test/specs/os/aix.json b/test/specs/os/aix.json new file mode 100644 index 000000000..02ccda875 --- /dev/null +++ b/test/specs/os/aix.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "AIX", + "ua" : "Mozilla/5.0 (X11; U; AIX 000138384C00; en-US; rv:1.0.1) Gecko/20030213 Netscape/7.0", + "expect" : + { + "name" : "AIX", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/amigaos.json b/test/specs/os/amigaos.json new file mode 100644 index 000000000..398d9b21b --- /dev/null +++ b/test/specs/os/amigaos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "AmigaOS", + "ua" : "Mozilla/4.0 (compatible; AWEB 3.4 SE; AmigaOS)", + "expect" : + { + "name" : "AmigaOS", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/android-x86.json b/test/specs/os/android-x86.json new file mode 100644 index 000000000..e83d3ca45 --- /dev/null +++ b/test/specs/os/android-x86.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Android-x86", + "ua" : "Mozilla/5.0 (Linux; Android 7.1.2; Generic Android-x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 OPR/61.2.3076.56749", + "expect" : + { + "name" : "Android-x86", + "version" : "7.1.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/android.json b/test/specs/os/android.json new file mode 100644 index 000000000..440fafec2 --- /dev/null +++ b/test/specs/os/android.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Android", + "ua" : "Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; VM670 Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko)", + "expect" : + { + "name" : "Android", + "version" : "2.2.2" + } + }, + { + "desc" : "KTB-Nexus 5", + "ua" : "APP-My App/1.0 (Linux; Android 4.2.1; Nexus 5 Build/JOP40D)", + "expect" : + { + "name" : "Android", + "version" : "4.2.1" + } + } +] \ No newline at end of file diff --git a/test/specs/os/arch.json b/test/specs/os/arch.json new file mode 100644 index 000000000..0aad66706 --- /dev/null +++ b/test/specs/os/arch.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Arch", + "ua" : "Uzbl (Webkit 1.1.10) (Arch Linux)", + "expect" : + { + "name" : "Arch", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/bada.json b/test/specs/os/bada.json new file mode 100644 index 000000000..1125641a2 --- /dev/null +++ b/test/specs/os/bada.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Bada", + "ua" : "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S5253/S5253DDKC1; U; Bada/1.0; en-us) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WQVGA SMM-MMS/1.2.0 OPN-B", + "expect" : + { + "name" : "Bada", + "version" : "1.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/beos.json b/test/specs/os/beos.json new file mode 100644 index 000000000..045e54f93 --- /dev/null +++ b/test/specs/os/beos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "BeOS", + "ua" : "Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.8.1.8pre) Gecko/20070926 SeaMonkey/1.1.5pre", + "expect" : + { + "name" : "BeOS", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/blackberry.json b/test/specs/os/blackberry.json new file mode 100644 index 000000000..1865ab6fb --- /dev/null +++ b/test/specs/os/blackberry.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "BlackBerry", + "ua" : "BlackBerry9300/5.0.0.912 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/378", + "expect" : + { + "name" : "BlackBerry", + "version" : "5.0.0.912" + } + }, + { + "desc" : "BlackBerry 10", + "ua" : "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.386 Mobile Safari/537.3+", + "expect" : + { + "name" : "BlackBerry", + "version" : "10" + } + } +] \ No newline at end of file diff --git a/test/specs/os/centos.json b/test/specs/os/centos.json new file mode 100644 index 000000000..4fe25b09a --- /dev/null +++ b/test/specs/os/centos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "CentOS", + "ua" : "Konqueror/15.13 (CentOS Linux 7.4; cs-CZ;)", + "expect" : + { + "name" : "CentOS", + "version" : "7.4" + } + } +] \ No newline at end of file diff --git a/test/specs/os/chrome-os.json b/test/specs/os/chrome-os.json new file mode 100644 index 000000000..69bc8786f --- /dev/null +++ b/test/specs/os/chrome-os.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Chrome OS", + "ua" : "Mozilla/5.0 (X11; CrOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Safari/537.36", + "expect" : + { + "name" : "Chrome OS", + "version" : "undefined" + } + }, + { + "desc" : "Chromium OS", + "ua" : "Mozilla/5.0 (X11; CrOS x86_64 10575.58.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36", + "expect" : + { + "name" : "Chrome OS", + "version" : "10575.58.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/chromecast-android.json b/test/specs/os/chromecast-android.json new file mode 100644 index 000000000..c0969dd07 --- /dev/null +++ b/test/specs/os/chromecast-android.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Google Chromecast with Google TV", + "ua" : "Mozilla/5.0 (Linux; Android 12.0; Build/STTL.240206.002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.0 Safari/537.36 CrKey/1.56.500000 DeviceType/AndroidTV", + "expect" : + { + "name" : "Chromecast Android", + "version" : "12.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/chromecast-fuchsia.json b/test/specs/os/chromecast-fuchsia.json new file mode 100644 index 000000000..5bfecf832 --- /dev/null +++ b/test/specs/os/chromecast-fuchsia.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Google Chromecast Nest Hub", + "ua" : "Mozilla/5.0 (Fuchsia) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 CrKey/1.56.500000", + "expect" : + { + "name" : "Chromecast Fuchsia", + "version" : "1.56.500000" + } + } +] \ No newline at end of file diff --git a/test/specs/os/chromecast-linux.json b/test/specs/os/chromecast-linux.json new file mode 100644 index 000000000..608234665 --- /dev/null +++ b/test/specs/os/chromecast-linux.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Google Chromecast Legacy Linux-Based", + "ua" : "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.81 Safari/537.36 CrKey/1.42.183786", + "expect" : + { + "name" : "Chromecast Linux", + "version" : "1.42.183786" + } + } +] \ No newline at end of file diff --git a/test/specs/os/chromecast-smartspeaker.json b/test/specs/os/chromecast-smartspeaker.json new file mode 100644 index 000000000..eb6f15b46 --- /dev/null +++ b/test/specs/os/chromecast-smartspeaker.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Google Chromecast Mini Smart Speaker", + "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/SmartSpeaker", + "expect" : + { + "name" : "Chromecast SmartSpeaker", + "version" : "1.56.500000" + } + } +] \ No newline at end of file diff --git a/test/specs/os/contiki.json b/test/specs/os/contiki.json new file mode 100644 index 000000000..b8b0503c3 --- /dev/null +++ b/test/specs/os/contiki.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Contiki", + "ua" : "Contiki/1.0 (Commodore 64; http://dunkels.com/adam/contiki/)", + "expect" : + { + "name" : "Contiki", + "version" : "1.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/debian.json b/test/specs/os/debian.json new file mode 100644 index 000000000..4ae949a82 --- /dev/null +++ b/test/specs/os/debian.json @@ -0,0 +1,56 @@ +[ + { + "desc" : "Debian", + "ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian)", + "expect" : + { + "name" : "Debian", + "version" : "undefined" + } + }, + { + "desc" : "Debian", + "ua" : "Mozilla/5.0 (X11; Linux x86_64; Debian GNU/Linux 8.1 (jessie)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.0 Maxthon/1.0.5.3 Safari/537.36", + "expect" : + { + "name" : "Debian", + "version" : "8.1" + } + }, + { + "desc" : "Debian", + "ua" : "ELinks/0.12~pre5-4 (textmode; Debian; Linux 3.2.0-4-amd64 x86_64 192x47-2)", + "expect" : + { + "name" : "Debian", + "version" : "undefined" + } + }, + { + "desc" : "Debian", + "ua" : "w3m/0.5.3+debian-19", + "expect" : + { + "name" : "debian", + "version" : "19" + } + }, + { + "desc" : "Debian", + "ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.3) Gecko/2008092814 (Debian-3.0.1-1)", + "expect" : + { + "name" : "Debian", + "version" : "3.0.1-1" + } + }, + { + "desc" : "Debian", + "ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.24.4; X11) KHTML/3.5.9 (like Gecko) (Debian package 4:3.5.9.dfsg.1-2+b1)", + "expect" : + { + "name" : "Debian", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/deepin.json b/test/specs/os/deepin.json new file mode 100644 index 000000000..b41e2a3f7 --- /dev/null +++ b/test/specs/os/deepin.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Deepin", + "ua" : "Mozilla/5.0 (X11; Linux x86_64; Deepin 15.5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 NFSBrowser/5.0.0.1886", + "expect" : + { + "name" : "Deepin", + "version" : "15.5" + } + } +] \ No newline at end of file diff --git a/test/specs/os/dragonfly.json b/test/specs/os/dragonfly.json new file mode 100644 index 000000000..f8f3c5833 --- /dev/null +++ b/test/specs/os/dragonfly.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "DragonFly", + "ua" : "Mozilla/5.0 (X11; U; DragonFly i386; de; rv:1.9.1) Gecko/20090720 Firefox/3.5.1", + "expect" : + { + "name" : "DragonFly", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/elementary-os.json b/test/specs/os/elementary-os.json new file mode 100644 index 000000000..1fd5db7b7 --- /dev/null +++ b/test/specs/os/elementary-os.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "elementary OS", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/604.1 (KHTML, like Gecko) Version/11.0 Safari/604.1 elementary OS/0.4 (Loki) Epiphany/3.18.11", + "expect" : + { + "name" : "elementary OS", + "version" : "0.4" + } + } +] \ No newline at end of file diff --git a/test/specs/os/fedora.json b/test/specs/os/fedora.json new file mode 100644 index 000000000..a7abe1fa4 --- /dev/null +++ b/test/specs/os/fedora.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "Fedora", + "ua" : "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0", + "expect" : + { + "name" : "Fedora", + "version" : "undefined" + } + }, + { + "desc" : "Fedora", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:2.0) Gecko/20110404 Fedora/16-dev Firefox/4.0", + "expect" : + { + "name" : "Fedora", + "version" : "16-dev" + } + }, + { + "desc" : "Fedora", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; sk; rv:1.9.0.4) Gecko/2008111217 Fedora/3.0.4-1.fc10 Firefox/3.0.4", + "expect" : + { + "name" : "Fedora", + "version" : "3.0.4-1.fc10" + } + } +] \ No newline at end of file diff --git a/test/specs/os/firefox-os.json b/test/specs/os/firefox-os.json new file mode 100644 index 000000000..faf081a15 --- /dev/null +++ b/test/specs/os/firefox-os.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "Firefox OS", + "ua" : "Mozilla/5.0 (Mobile; rv:14.0) Gecko/14.0 Firefox/14.0", + "expect" : + { + "name" : "Firefox OS", + "version" : "14.0" + } + }, + { + "desc" : "Firefox OS on Tablet", + "ua" : "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0", + "expect" : + { + "name" : "Firefox OS", + "version" : "26.0" + } + }, + { + "desc" : "Firefox OS on TV", + "ua" : "Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0", + "expect" : + { + "name" : "Firefox OS", + "version" : "44.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/freebsd.json b/test/specs/os/freebsd.json new file mode 100644 index 000000000..74544a0a7 --- /dev/null +++ b/test/specs/os/freebsd.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "FreeBSD", + "ua" : "Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16", + "expect" : + { + "name" : "FreeBSD", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/fuchsia.json b/test/specs/os/fuchsia.json new file mode 100644 index 000000000..0759cba17 --- /dev/null +++ b/test/specs/os/fuchsia.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Fuchsia", + "ua" : "Mozilla/5.0 (X11; Fuchsia x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3557.0 Safari/537.36", + "expect" : + { + "name" : "Fuchsia", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/gentoo.json b/test/specs/os/gentoo.json new file mode 100644 index 000000000..8fa207ba6 --- /dev/null +++ b/test/specs/os/gentoo.json @@ -0,0 +1,39 @@ +[ + + { + "desc" : "Gentoo", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080716 (Gentoo) Galeon/2.0.6", + "expect" : + { + "name" : "Gentoo", + "version" : "undefined" + } + }, + { + "desc" : "Gentoo", + "ua" : "Xombrero (X11; U; Gentoo Linux amd64; en-US) Webkit/2.8.5", + "expect" : + { + "name" : "Gentoo", + "version" : "amd64" + } + }, + { + "desc" : "Gentoo", + "ua" : "Xombrero/1.6.4 (Linux amd64; en; Gentoo)", + "expect" : + { + "name" : "Gentoo", + "version" : "undefined" + } + }, + { + "desc" : "Gentoo", + "ua" : "Links (2.8; Linux 3.17.2-gentoo-x86 i686; GNU C 4.8.2; x)", + "expect" : + { + "name" : "gentoo", + "version" : "x86" + } + } +] \ No newline at end of file diff --git a/test/specs/os/ghostbsd.json b/test/specs/os/ghostbsd.json new file mode 100644 index 000000000..5e36d81f8 --- /dev/null +++ b/test/specs/os/ghostbsd.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "GhostBSD", + "ua" : "Mozilla/5.0 (X11; GhostBSD/10.3; x86_64; rv:50.0.1) Gecko/20100101 Firefox/50.0.1", + "expect" : + { + "name" : "GhostBSD", + "version" : "10.3" + } + } +] \ No newline at end of file diff --git a/test/specs/os/haiku.json b/test/specs/os/haiku.json new file mode 100644 index 000000000..7005087ad --- /dev/null +++ b/test/specs/os/haiku.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Haiku", + "ua" : "Mozilla/5.0 (Macintosh; Intel Haiku R1 x86) AppleWebKit/602.1.1 (KHTML, like Gecko) WebPositive/1.2 Version/8.0 Safari/602.1.1", + "expect" : + { + "name" : "Haiku", + "version" : "R1" + } + } +] \ No newline at end of file diff --git a/test/specs/os/harmonyos.json b/test/specs/os/harmonyos.json new file mode 100644 index 000000000..1fa13efed --- /dev/null +++ b/test/specs/os/harmonyos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "HarmonyOS", + "ua" : "Mozilla/5.0 (Linux; Android 10; HarmonyOS; YAL-AL10; HMSCore 6.3.0.327; GMSCore 21.48.15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.0.3.310 Mobile Safari/537.36", + "expect" : + { + "name" : "HarmonyOS", + "version" : "10" + } + } +] \ No newline at end of file diff --git a/test/specs/os/hp-ux.json b/test/specs/os/hp-ux.json new file mode 100644 index 000000000..841474030 --- /dev/null +++ b/test/specs/os/hp-ux.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "HP-UX", + "ua" : "Mozilla/5.0 (X11; U; HP-UX 9000/785; es-ES; rv:1.0.1) Gecko/20020827 Netscape/7.0", + "expect" : + { + "name" : "HP-UX", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/hurd.json b/test/specs/os/hurd.json new file mode 100644 index 000000000..01707284c --- /dev/null +++ b/test/specs/os/hurd.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Hurd", + "ua" : "Mozilla/5.0 (X11; Hurd 0.9 i386; en-US) libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/3.7.0 Safari/696.96", + "expect" : + { + "name" : "Hurd", + "version" : "0.9" + } + } +] \ No newline at end of file diff --git a/test/specs/os/ios.json b/test/specs/os/ios.json new file mode 100644 index 000000000..66cff1edf --- /dev/null +++ b/test/specs/os/ios.json @@ -0,0 +1,56 @@ +[ + { + "desc" : "iOS in App", + "ua" : "AppName/version CFNetwork/version Darwin/version", + "expect" : + { + "name" : "iOS", + "version" : "undefined" + } + }, + { + "desc" : "iOS with Chrome", + "ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3", + "expect" : + { + "name" : "iOS", + "version" : "5.1.1" + } + }, + { + "desc" : "iOS with Opera Mini", + "ua" : "Opera/9.80 (iPhone; Opera Mini/7.1.32694/27.1407; U; en) Presto/2.8.119 Version/11.10", + "expect" : + { + "name" : "iOS", + "version" : "undefined" + } + }, + { + "desc": "iOS with FaceBook Mobile App", + "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]", + "expect": + { + "name" : "iOS", + "version" : "13.6.1" + } + }, + { + "desc": "iOS with Slack App", + "ua": "com.tinyspeck.chatlyio/23.04.10 (iPhone; iOS 16.4.1; Scale/3.00)", + "expect": + { + "name" : "iOS", + "version" : "16.4.1" + } + }, + { + "desc" : "iOS BE App", + "ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)", + "expect" : + { + "name" : "iOS", + "version" : "7.0.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/joli.json b/test/specs/os/joli.json new file mode 100644 index 000000000..e9815fd8d --- /dev/null +++ b/test/specs/os/joli.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Joli", + "ua" : "Mozilla/5.0 (X11; Jolicloud Linux i686) AppleWebKit/537.6 (KHTML, like Gecko) Joli OS/1.2 Chromium/23.0.1240.0 Chrome/23.0.1240.0 Safari/537.6", + "expect" : + { + "name" : "Joli", + "version" : "1.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/kaios.json b/test/specs/os/kaios.json new file mode 100644 index 000000000..f59572d59 --- /dev/null +++ b/test/specs/os/kaios.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "KaiOS", + "ua" : "Mozilla/5.0 (Mobile; Nokia_8110_4G; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5", + "expect" : + { + "name" : "KAIOS", + "version" : "2.5" + } + } +] \ No newline at end of file diff --git a/test/specs/os/kubuntu.json b/test/specs/os/kubuntu.json new file mode 100644 index 000000000..26342568f --- /dev/null +++ b/test/specs/os/kubuntu.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Kubuntu", + "ua" : "Mozilla/5.0 (compatible; Konqueror/4.4; Linux 2.6.32-22-generic; X11; en_US) KHTML/4.4.3 (like Gecko) Kubuntu", + "expect" : + { + "name" : "Kubuntu", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/linpus.json b/test/specs/os/linpus.json new file mode 100644 index 000000000..40c81691c --- /dev/null +++ b/test/specs/os/linpus.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Linpus", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b5pre) Gecko/2008032619 Linpus/3.0-0.49", + "expect" : + { + "name" : "Linpus", + "version" : "3.0-0.49" + } + } +] \ No newline at end of file diff --git a/test/specs/os/linspire.json b/test/specs/os/linspire.json new file mode 100644 index 000000000..4d2497b24 --- /dev/null +++ b/test/specs/os/linspire.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Linspire", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060803 Firefox/1.5.0.4 Linspire/1.5.0.4", + "expect" : + { + "name" : "Linspire", + "version" : "1.5.0.4" + } + } +] \ No newline at end of file diff --git a/test/specs/os/linux.json b/test/specs/os/linux.json new file mode 100644 index 000000000..ad86c4e87 --- /dev/null +++ b/test/specs/os/linux.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Linux", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36", + "expect" : + { + "name" : "Linux", + "version" : "x86_64" + } + } +] \ No newline at end of file diff --git a/test/specs/os/macos.json b/test/specs/os/macos.json new file mode 100644 index 000000000..43f90dba9 --- /dev/null +++ b/test/specs/os/macos.json @@ -0,0 +1,38 @@ +[ + { + "desc" : "Mac OS on PowerPC", + "ua" : "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)", + "expect" : + { + "name" : "macOS", + "version" : "undefined" + } + }, + { + "desc" : "Mac OS X on x86, x86_64, or aarch64 using Firefox", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0", + "expect" : + { + "name" : "macOS", + "version" : "x.y" + } + }, + { + "desc" : "Mac OS X on PowerPC using Firefox", + "ua" : "Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0", + "expect" : + { + "name" : "macOS", + "version" : "x.y" + } + }, + { + "desc" : "Mac OS", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36", + "expect" : + { + "name" : "macOS", + "version" : "10.6.8" + } + } +] \ No newline at end of file diff --git a/test/specs/os/maemo.json b/test/specs/os/maemo.json new file mode 100644 index 000000000..92dfe7895 --- /dev/null +++ b/test/specs/os/maemo.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Nokia N900 Linux mobile, on the Fennec browser", + "ua" : "Mozilla/5.0 (Maemo; Linux armv7l; rv:10.0) Gecko/20100101 Firefox/10.0 Fennec/10.0", + "expect" : + { + "name" : "Maemo", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/mandriva.json b/test/specs/os/mandriva.json new file mode 100644 index 000000000..3dbccf782 --- /dev/null +++ b/test/specs/os/mandriva.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Mandriva", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.22) Gecko/20110907 Mandriva Linux/1.9.2.22-0.1mdv2010.2 (2010.2) Firefox/3.6.22", + "expect" : + { + "name" : "Mandriva", + "version" : "1.9.2.22-0.1mdv2010.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/manjaro.json b/test/specs/os/manjaro.json new file mode 100644 index 000000000..ede015f22 --- /dev/null +++ b/test/specs/os/manjaro.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Manjaro", + "ua" : "Mozilla/5.0 (X11; Manjaro 19.0.2; Arch; x64; rv:84.0) Gecko/20100101 Firefox/84.0", + "expect" : + { + "name" : "Manjaro", + "version" : "19.0.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/meego.json b/test/specs/os/meego.json new file mode 100644 index 000000000..a506cde7a --- /dev/null +++ b/test/specs/os/meego.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "MeeGo", + "ua" : "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13", + "expect" : + { + "name" : "MeeGo", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/minix.json b/test/specs/os/minix.json new file mode 100644 index 000000000..d39a5148a --- /dev/null +++ b/test/specs/os/minix.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Minix", + "ua" : "Mozilla/5.0 (X11; Original ; Minix 3.3 ; rv:3.0)", + "expect" : + { + "name" : "Minix", + "version" : "3.3" + } + } +] \ No newline at end of file diff --git a/test/specs/os/mint.json b/test/specs/os/mint.json new file mode 100644 index 000000000..e87641e80 --- /dev/null +++ b/test/specs/os/mint.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "Mint", + "ua" : "Opera/9.80 (X11; Linux x86_64; Edition Linux Mint) Presto/2.12.388 Version/12.16", + "expect" : + { + "name" : "Mint", + "version" : "undefined" + } + }, + { + "desc" : "Mint", + "ua" : "Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1", + "expect" : + { + "name" : "Mint", + "version" : "undefined" + } + }, + { + "desc" : "Mint", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Linux Mint/6 (Felicia) Firefox/3.0.4", + "expect" : + { + "name" : "Mint", + "version" : "6" + } + } +] \ No newline at end of file diff --git a/test/specs/os/morphos.json b/test/specs/os/morphos.json new file mode 100644 index 000000000..f255eeb27 --- /dev/null +++ b/test/specs/os/morphos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "MorphOS", + "ua" : "AmigaVoyager/3.4.4 (MorphOS/PPC native)", + "expect" : + { + "name" : "MorphOS", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/netbsd.json b/test/specs/os/netbsd.json new file mode 100644 index 000000000..3a7657a27 --- /dev/null +++ b/test/specs/os/netbsd.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "NetBSD", + "ua" : "ELinks (0.4.3; NetBSD 3.0.2PATCH sparc64; 141x19)", + "expect" : + { + "name" : "NetBSD", + "version" : "3.0.2PATCH" + } + } +] \ No newline at end of file diff --git a/test/specs/os/netrange.json b/test/specs/os/netrange.json new file mode 100644 index 000000000..a7ff0a988 --- /dev/null +++ b/test/specs/os/netrange.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Netrange Smart TV", + "ua" : "Mozilla/5.0 (Linux; U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 OPR/46.0.2207.0 LOEWE-SL410/5.2.0.0 HbbTV/1.4.1 (; LOEWE; SL410; LOH/5.2.0.0;;) FVC/3.0 (LOEWE; SL410;) CE-HTML/1.0 Config (L:deu,CC:DEU) NETRANGEMMH", + "expect" : + { + "name" : "NETRANGE", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/nettv.json b/test/specs/os/nettv.json new file mode 100644 index 000000000..2584e4096 --- /dev/null +++ b/test/specs/os/nettv.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "NetTV 3.2.1", + "ua" : "Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70", + "expect" : + { + "name" : "NETTV", + "version" : "3.2.1" + } + } +] \ No newline at end of file diff --git a/test/specs/os/nintendo.json b/test/specs/os/nintendo.json new file mode 100644 index 000000000..b8ac8a398 --- /dev/null +++ b/test/specs/os/nintendo.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Nintendo Switch", + "ua" : "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393", + "expect" : + { + "name" : "Nintendo", + "version" : "Switch" + } + } +] \ No newline at end of file diff --git a/test/specs/os/openbsd.json b/test/specs/os/openbsd.json new file mode 100644 index 000000000..25164de54 --- /dev/null +++ b/test/specs/os/openbsd.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "OpenBSD", + "ua" : "Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.1) Gecko/20090702 Firefox/3.5", + "expect" : + { + "name" : "OpenBSD", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/openharmony.json b/test/specs/os/openharmony.json new file mode 100644 index 000000000..b0606a1c4 --- /dev/null +++ b/test/specs/os/openharmony.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "OpenHarmony", + "ua" : "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile", + "expect" : + { + "name" : "OpenHarmony", + "version" : "4.1" + } + } +] \ No newline at end of file diff --git a/test/specs/os/os-all.json b/test/specs/os/os-all.json deleted file mode 100644 index b93dc33bd..000000000 --- a/test/specs/os/os-all.json +++ /dev/null @@ -1,1322 +0,0 @@ -[ - { - "desc" : "Windows 95", - "ua" : "Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)", - "expect" : - { - "name" : "Windows", - "version" : "95" - } - }, - { - "desc" : "Windows 98", - "ua" : "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", - "expect" : - { - "name" : "Windows", - "version" : "98" - } - }, - { - "desc" : "Windows ME", - "ua" : "Mozilla/5.0 (Windows; U; Win 9x 4.90) Gecko/20020502 CS 2000 7.0/7.0", - "expect" : - { - "name" : "Windows", - "version" : "ME" - } - }, - { - "desc" : "Windows 2000", - "ua" : "Mozilla/3.0 (compatible; MSIE 3.0; Windows NT 5.0)", - "expect" : - { - "name" : "Windows", - "version" : "2000" - } - }, - { - "desc" : "Windows XP", - "ua" : "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 5.2)", - "expect" : - { - "name" : "Windows", - "version" : "XP" - } - }, - { - "desc" : "Windows Vista", - "ua" : "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0; fr-FR)", - "expect" : - { - "name" : "Windows", - "version" : "Vista" - } - }, - { - "desc" : "Windows 7", - "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", - "expect" : - { - "name" : "Windows", - "version" : "7" - } - }, - { - "desc" : "Windows 8", - "ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C)", - "expect" : - { - "name" : "Windows", - "version" : "8" - } - }, - { - "desc" : "Windows 10", - "ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0", - "expect" : - { - "name" : "Windows", - "version" : "10" - } - }, - { - "desc" : "WeChat Desktop for Windows Built-in Browser", - "ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400", - "expect" : - { - "name" : "Windows", - "version" : "7" - } - }, - { - "desc" : "WeChat Desktop for Windows Built-in Browser major version in 4", - "ua" : "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/81.0.4044.138 safari/537.36 nettype/wifi micromessenger/7.0.20.1781(0x6700143b) windowswechat", - "expect" : - { - "name" : "Windows", - "version" : "7" - } - }, - { - "desc" : "Windows RT", - "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)", - "expect" : - { - "name" : "Windows", - "version" : "RT" - } - }, - { - "desc" : "Windows CE", - "ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)", - "expect" : - { - "name" : "Windows", - "version" : "CE" - } - }, - { - "desc" : "Windows Mobile", - "ua" : "Mozilla/5.0 (ZTE-E_N72/N72V1.0.0B02;U;Windows Mobile/6.1;Profile/MIDP-2.0 Configuration/CLDC-1.1;320*240;CTC/2.0) IE/6.0 (compatible; MSIE 4.01; Windows CE; PPC)/UC Browser7.7.1.88", - "expect" : - { - "name" : "Windows Mobile", - "version" : "6.1" - } - }, - { - "desc" : "Windows Mobile", - "ua" : "Opera/9.80 (Windows Mobile; WCE; Opera Mobi/WMD-50433; U; en) Presto/2.4.13 Version/10.00", - "expect" : - { - "name" : "Windows Mobile", - "version" : "undefined" - } - }, - { - "desc" : "Windows Phone", - "ua" : "Opera/9.80 (Windows Phone; Opera Mini/7.6.8/35.7518; U; ru) Presto/2.8.119 Version/11.10", - "expect" : - { - "name" : "Windows Phone", - "version" : "undefined" - } - }, - { - "desc" : "Windows Phone OS", - "ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)", - "expect" : - { - "name" : "Windows Phone OS", - "version" : "7.0" - } - }, - { - "desc" : "Windows Phone 8", - "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; HTC; Windows Phone 8X by HTC)", - "expect" : - { - "name" : "Windows Phone", - "version" : "8.0" - } - }, - { - "desc" : "Windows NT on x86 or aarch64 CPU using Firefox", - "ua" : "Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0", - "expect" : - { - "name" : "Windows", - "version" : "NT x" - } - }, - { - "desc" : "Windows NT on x64 CPU using Firefox", - "ua" : "Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0", - "expect" : - { - "name" : "Windows", - "version" : "NT x" - } - }, - { - "desc" : "BlackBerry", - "ua" : "BlackBerry9300/5.0.0.912 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/378", - "expect" : - { - "name" : "BlackBerry", - "version" : "5.0.0.912" - } - }, - { - "desc" : "BlackBerry 10", - "ua" : "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.386 Mobile Safari/537.3+", - "expect" : - { - "name" : "BlackBerry", - "version" : "10" - } - }, - { - "desc" : "Tizen", - "ua" : "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1", - "expect" : - { - "name" : "Tizen", - "version" : "2.3" - } - }, - { - "desc" : "Tizen", - "ua" : "Mozilla/5.0 (Linux; Tizen 2.3; SAMSUNG SM-Z130H) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.3 Mobile Safari/537.3", - "expect" : - { - "name" : "Tizen", - "version" : "2.3" - } - }, - { - "desc" : "Tizen 6.0", - "ua" : "HbbTV/1.5.1 (+DRM;Samsung;SmartTV2021:UAU7000;T-KSU2EDEUC-1506.0;KantSU2e;urn:samsungtv:familyname:21_KANTSU2E_UHD_BASIC:2021;) Tizen/6.0 (+TVPLUS+SmartHubLink) Chrome/76 LaTivu_1.0.1_2021 RVID/17", - "expect" : - { - "name" : "Tizen", - "version" : "6.0" - } - }, - { - "desc" : "Android", - "ua" : "Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; VM670 Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko)", - "expect" : - { - "name" : "Android", - "version" : "2.2.2" - } - }, - { - "desc" : "HarmonyOS", - "ua" : "Mozilla/5.0 (Linux; Android 10; HarmonyOS; YAL-AL10; HMSCore 6.3.0.327; GMSCore 21.48.15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.0.3.310 Mobile Safari/537.36", - "expect" : - { - "name" : "HarmonyOS", - "version" : "10" - } - }, - { - "desc" : "Sailfish", - "ua" : "Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.0", - "expect" : - { - "name" : "Sailfish", - "version" : "3.0" - } - }, - { - "desc" : "WebOS", - "ua" : "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.5; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.83 Safari/534.6 TouchPad/1.0", - "expect" : - { - "name" : "webOS", - "version" : "3.0.5" - } - }, - { - "desc" : "WebOS", - "ua" : "Mozilla/5.0 (webOS/1.4.5; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.0", - "expect" : - { - "name" : "webOS", - "version" : "1.4.5" - } - }, - { - "desc" : "WebOS TV 5.x", - "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 WebAppManager", - "expect" : - { - "name" : "webOS", - "version" : "TV" - } - }, - { - "desc" : "WebOS TV 4.x", - "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.34 Safari/537.36 WebAppManager", - "expect" : - { - "name" : "webOS", - "version" : "TV" - } - }, - { - "desc" : "WebOS TV 3.x", - "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.2.1 Chrome/38.0.2125.122 Safari/537.36 WebAppManager", - "expect" : - { - "name" : "webOS", - "version" : "TV" - } - }, - { - "desc" : "WebOS TV 2.x", - "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/538.2 (KHTML, like Gecko) Large Screen WebAppManager Safari/538.2", - "expect" : - { - "name" : "webOS", - "version" : "TV" - } - }, - { - "desc" : "WebOS TV 1.x", - "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41", - "expect" : - { - "name" : "webOS", - "version" : "TV" - } - }, - { - "desc" : "QNX", - "ua" : "Mozilla/5.0 (Photon; U; QNX x86pc; en-US; rv:1.8.1.20) Gecko/20090127 BonEcho/2.0.0.20", - "expect" : - { - "name" : "QNX", - "version" : "x86pc" - } - }, - { - "desc" : "Bada", - "ua" : "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S5253/S5253DDKC1; U; Bada/1.0; en-us) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WQVGA SMM-MMS/1.2.0 OPN-B", - "expect" : - { - "name" : "Bada", - "version" : "1.0" - } - }, - { - "desc" : "RIM Tablet OS", - "ua" : "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+", - "expect" : - { - "name" : "RIM Tablet OS", - "version" : "2.1.0" - } - }, - { - "desc" : "Nokia N900 Linux mobile, on the Fennec browser", - "ua" : "Mozilla/5.0 (Maemo; Linux armv7l; rv:10.0) Gecko/20100101 Firefox/10.0 Fennec/10.0", - "expect" : - { - "name" : "Maemo", - "version" : "undefined" - } - }, - { - "desc" : "MeeGo", - "ua" : "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13", - "expect" : - { - "name" : "MeeGo", - "version" : "undefined" - } - }, - { - "desc" : "Symbian", - "ua" : "Nokia5250/10.0.011 (SymbianOS/9.4; U; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 3gpp-gba", - "expect" : - { - "name" : "Symbian", - "version" : "9.4" - } - }, - { - "desc" : "Symbian", - "ua" : "Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaC7-00/024.001; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.1.37 Mobile Safari/533.4 3gpp-gba", - "expect" : - { - "name" : "Symbian", - "version" : "5.2" - } - }, - { - "desc" : "Series40", - "ua" : "Mozilla/5.0 (Series40; Nokia2055/03.20; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.34", - "expect" : - { - "name" : "Series40", - "version" : "undefined" - } - }, - { - "desc" : "Firefox OS", - "ua" : "Mozilla/5.0 (Mobile; rv:14.0) Gecko/14.0 Firefox/14.0", - "expect" : - { - "name" : "Firefox OS", - "version" : "14.0" - } - }, - { - "desc" : "Firefox OS on Tablet", - "ua" : "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0", - "expect" : - { - "name" : "Firefox OS", - "version" : "26.0" - } - }, - { - "desc" : "Firefox OS on TV", - "ua" : "Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0", - "expect" : - { - "name" : "Firefox OS", - "version" : "44.0" - } - }, - { - "desc" : "Google Chromecast with Google TV", - "ua" : "Mozilla/5.0 (Linux; Android 12.0; Build/STTL.240206.002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.0 Safari/537.36 CrKey/1.56.500000 DeviceType/AndroidTV", - "expect" : - { - "name" : "Chromecast Android", - "version" : "12.0" - } - }, - { - "desc" : "Google Chromecast Nest Hub", - "ua" : "Mozilla/5.0 (Fuchsia) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 CrKey/1.56.500000", - "expect" : - { - "name" : "Chromecast Fuchsia", - "version" : "1.56.500000" - } - }, - { - "desc" : "Google Chromecast Mini Smart Speaker", - "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/SmartSpeaker", - "expect" : - { - "name" : "Chromecast SmartSpeaker", - "version" : "1.56.500000" - } - }, - { - "desc" : "Google Chromecast Legacy Linux-Based", - "ua" : "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.81 Safari/537.36 CrKey/1.42.183786", - "expect" : - { - "name" : "Chromecast Linux", - "version" : "1.42.183786" - } - }, - { - "desc" : "Nintendo Switch", - "ua" : "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393", - "expect" : - { - "name" : "Nintendo", - "version" : "Switch" - } - }, - { - "desc" : "PlayStation 4", - "ua" : "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)", - "expect" : - { - "name" : "PlayStation", - "version" : "4" - } - }, - { - "desc" : "PlayStation 5", - "ua" : "Mozilla/5.0 (PlayStation 5/SmartTV) AppleWebKit/605.1.15 (KHTML, like Gecko)", - "expect" : - { - "name" : "PlayStation", - "version" : "5" - } - }, - { - "desc": "Pico 4", - "ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.8.2 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.38 Chrome/105.0.5195.68 VR Safari/537.36", - "expect": { - "name" : "PICO", - "version" : "5.8.2" - } - }, - { - "desc": "Pico 4", - "ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36 OculusBrowser/7.0", - "expect": { - "name" : "PICO", - "version" : "5.4.0" - } - }, - { - "desc": "Pico Neo3 Link", - "ua": "Mozilla/5.0 (X11; Linux x86_64; Pico Neo3 Link OS5.8.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36", - "expect": { - "name" : "Pico", - "version" : "5.8.4.0" - } - }, - { - "desc" : "Xbox 360", - "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox 360) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36", - "expect" : - { - "name" : "Xbox", - "version" : "360" - } - }, - { - "desc" : "Xbox One", - "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One; WebView/3.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041", - "expect" : - { - "name" : "Xbox", - "version" : "One" - } - }, - { - "desc" : "Xbox X", - "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02", - "expect" : - { - "name" : "Xbox", - "version" : "X" - } - }, - { - "desc" : "Xbox Series X", - "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02 ", - "expect" : - { - "name" : "Xbox", - "version" : "Series X" - } - }, - { - "desc" : "Xbox Series S", - "ua" : "Mozilla/5.0 (Compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox Series S)", - "expect" : - { - "name" : "Xbox", - "version" : "Series S" - } - }, - { - "desc" : "Mint", - "ua" : "Opera/9.80 (X11; Linux x86_64; Edition Linux Mint) Presto/2.12.388 Version/12.16", - "expect" : - { - "name" : "Mint", - "version" : "undefined" - } - }, - { - "desc" : "Mint", - "ua" : "Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1", - "expect" : - { - "name" : "Mint", - "version" : "undefined" - } - }, - { - "desc" : "Mint", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Linux Mint/6 (Felicia) Firefox/3.0.4", - "expect" : - { - "name" : "Mint", - "version" : "6" - } - }, - { - "desc" : "Ubuntu", - "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.22+ (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.22+ Ubuntu/12.04 (3.4.1-0ubuntu1) Epiphany/3.4.1", - "expect" : - { - "name" : "Ubuntu", - "version" : "12.04" - } - }, - { - "desc" : "Ubuntu", - "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36", - "expect" : - { - "name" : "Ubuntu", - "version" : "undefined" - } - }, - { - "desc" : "Kubuntu", - "ua" : "Mozilla/5.0 (compatible; Konqueror/4.4; Linux 2.6.32-22-generic; X11; en_US) KHTML/4.4.3 (like Gecko) Kubuntu", - "expect" : - { - "name" : "Kubuntu", - "version" : "undefined" - } - }, - { - "desc" : "Debian", - "ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian)", - "expect" : - { - "name" : "Debian", - "version" : "undefined" - } - }, - { - "desc" : "Debian", - "ua" : "Mozilla/5.0 (X11; Linux x86_64; Debian GNU/Linux 8.1 (jessie)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.0 Maxthon/1.0.5.3 Safari/537.36", - "expect" : - { - "name" : "Debian", - "version" : "8.1" - } - }, - { - "desc" : "Debian", - "ua" : "ELinks/0.12~pre5-4 (textmode; Debian; Linux 3.2.0-4-amd64 x86_64 192x47-2)", - "expect" : - { - "name" : "Debian", - "version" : "undefined" - } - }, - { - "desc" : "Debian", - "ua" : "w3m/0.5.3+debian-19", - "expect" : - { - "name" : "debian", - "version" : "19" - } - }, - { - "desc" : "Debian", - "ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.3) Gecko/2008092814 (Debian-3.0.1-1)", - "expect" : - { - "name" : "Debian", - "version" : "3.0.1-1" - } - }, - { - "desc" : "Debian", - "ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.24.4; X11) KHTML/3.5.9 (like Gecko) (Debian package 4:3.5.9.dfsg.1-2+b1)", - "expect" : - { - "name" : "Debian", - "version" : "undefined" - } - }, - { - "desc" : "OpenSUSE", - "ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110420 SUSE/3.6.17-0.2.1 Firefox/3.6.17", - "expect" : - { - "name" : "SUSE", - "version" : "3.6.17-0.2.1" - } - }, - { - "desc" : "Gentoo", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080716 (Gentoo) Galeon/2.0.6", - "expect" : - { - "name" : "Gentoo", - "version" : "undefined" - } - }, - { - "desc" : "Gentoo", - "ua" : "Xombrero (X11; U; Gentoo Linux amd64; en-US) Webkit/2.8.5", - "expect" : - { - "name" : "Gentoo", - "version" : "amd64" - } - }, - { - "desc" : "Gentoo", - "ua" : "Xombrero/1.6.4 (Linux amd64; en; Gentoo)", - "expect" : - { - "name" : "Gentoo", - "version" : "undefined" - } - }, - { - "desc" : "Gentoo", - "ua" : "Links (2.8; Linux 3.17.2-gentoo-x86 i686; GNU C 4.8.2; x)", - "expect" : - { - "name" : "gentoo", - "version" : "x86" - } - }, - { - "desc" : "Arch", - "ua" : "Uzbl (Webkit 1.1.10) (Arch Linux)", - "expect" : - { - "name" : "Arch", - "version" : "undefined" - } - }, - { - "desc" : "Slackware", - "ua" : "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41", - "expect" : - { - "name" : "Slackware", - "version" : "13.37" - } - }, - { - "desc" : "Fedora", - "ua" : "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0", - "expect" : - { - "name" : "Fedora", - "version" : "undefined" - } - }, - { - "desc" : "Fedora", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:2.0) Gecko/20110404 Fedora/16-dev Firefox/4.0", - "expect" : - { - "name" : "Fedora", - "version" : "16-dev" - } - }, - { - "desc" : "Fedora", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; sk; rv:1.9.0.4) Gecko/2008111217 Fedora/3.0.4-1.fc10 Firefox/3.0.4", - "expect" : - { - "name" : "Fedora", - "version" : "3.0.4-1.fc10" - } - }, - { - "desc" : "Mandriva", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.22) Gecko/20110907 Mandriva Linux/1.9.2.22-0.1mdv2010.2 (2010.2) Firefox/3.6.22", - "expect" : - { - "name" : "Mandriva", - "version" : "1.9.2.22-0.1mdv2010.2" - } - }, - { - "desc" : "Chrome OS", - "ua" : "Mozilla/5.0 (X11; CrOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Safari/537.36", - "expect" : - { - "name" : "Chrome OS", - "version" : "undefined" - } - }, - { - "desc" : "Chromium OS", - "ua" : "Mozilla/5.0 (X11; CrOS x86_64 10575.58.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36", - "expect" : - { - "name" : "Chrome OS", - "version" : "10575.58.0" - } - }, - { - "desc" : "Fuchsia", - "ua" : "Mozilla/5.0 (X11; Fuchsia x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3557.0 Safari/537.36", - "expect" : - { - "name" : "Fuchsia", - "version" : "undefined" - } - }, - { - "desc" : "Solaris", - "ua" : "Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7) Gecko/20070606", - "expect" : - { - "name" : "Solaris", - "version" : "sun4u" - } - }, - { - "desc" : "FreeBSD", - "ua" : "Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16", - "expect" : - { - "name" : "FreeBSD", - "version" : "undefined" - } - }, - { - "desc" : "OpenBSD", - "ua" : "Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.1) Gecko/20090702 Firefox/3.5", - "expect" : - { - "name" : "OpenBSD", - "version" : "undefined" - } - }, - { - "desc" : "NetBSD", - "ua" : "ELinks (0.4.3; NetBSD 3.0.2PATCH sparc64; 141x19)", - "expect" : - { - "name" : "NetBSD", - "version" : "3.0.2PATCH" - } - }, - { - "desc" : "DragonFly", - "ua" : "Mozilla/5.0 (X11; U; DragonFly i386; de; rv:1.9.1) Gecko/20090720 Firefox/3.5.1", - "expect" : - { - "name" : "DragonFly", - "version" : "undefined" - } - }, - { - "desc" : "iOS in App", - "ua" : "AppName/version CFNetwork/version Darwin/version", - "expect" : - { - "name" : "iOS", - "version" : "undefined" - } - }, - { - "desc" : "iOS with Chrome", - "ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3", - "expect" : - { - "name" : "iOS", - "version" : "5.1.1" - } - }, - { - "desc" : "iOS with Opera Mini", - "ua" : "Opera/9.80 (iPhone; Opera Mini/7.1.32694/27.1407; U; en) Presto/2.8.119 Version/11.10", - "expect" : - { - "name" : "iOS", - "version" : "undefined" - } - }, - { - "desc": "iOS with FaceBook Mobile App", - "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]", - "expect": - { - "name" : "iOS", - "version" : "13.6.1" - } - }, - { - "desc": "iOS with Slack App", - "ua": "com.tinyspeck.chatlyio/23.04.10 (iPhone; iOS 16.4.1; Scale/3.00)", - "expect": - { - "name" : "iOS", - "version" : "16.4.1" - } - }, - { - "desc" : "watchOS", - "ua" : "server-bag [Watch OS,8.4,19S546,Watch3,4]", - "expect" : - { - "name" : "watchOS", - "version" : "8.4" - } - }, - { - "desc" : "watchOS", - "ua" : "atc/1.0 watchOS/7.4.1 model/Watch3,3 hwp/t8004 build/18T201 (6; dt:155)", - "expect" : - { - "name" : "watchOS", - "version" : "7.4.1" - } - }, - { - "desc" : "watchOS", - "ua" : "Watch4,3/5.3.8 (16U680)", - "expect" : - { - "name" : "watchOS", - "version" : "5.3.8" - } - }, - { - "desc" : "Mac OS on PowerPC", - "ua" : "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)", - "expect" : - { - "name" : "macOS", - "version" : "undefined" - } - }, - { - "desc" : "Mac OS X on x86, x86_64, or aarch64 using Firefox", - "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0", - "expect" : - { - "name" : "macOS", - "version" : "x.y" - } - }, - { - "desc" : "Mac OS X on PowerPC using Firefox", - "ua" : "Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0", - "expect" : - { - "name" : "macOS", - "version" : "x.y" - } - }, - { - "desc" : "Mac OS", - "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36", - "expect" : - { - "name" : "macOS", - "version" : "10.6.8" - } - }, - { - "desc" : "Haiku", - "ua" : "Mozilla/5.0 (Macintosh; Intel Haiku R1 x86) AppleWebKit/602.1.1 (KHTML, like Gecko) WebPositive/1.2 Version/8.0 Safari/602.1.1", - "expect" : - { - "name" : "Haiku", - "version" : "R1" - } - }, - { - "desc" : "KaiOS", - "ua" : "Mozilla/5.0 (Mobile; Nokia_8110_4G; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5", - "expect" : - { - "name" : "KAIOS", - "version" : "2.5" - } - }, - { - "desc" : "iTunes Windows Vista", - "ua" : "iTunes/10.7 (Windows; Microsoft Windows Vista Home Premium Edition Service Pack 1 (Build 6001)) AppleWebKit/536.26.9", - "expect" : - { - "name" : "Windows", - "version" : "Vista" - } - }, - { - "desc" : "iOS BE App", - "ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)", - "expect" : - { - "name" : "iOS", - "version" : "7.0.2" - } - }, - { - "desc" : "KTB-Nexus 5", - "ua" : "APP-My App/1.0 (Linux; Android 4.2.1; Nexus 5 Build/JOP40D)", - "expect" : - { - "name" : "Android", - "version" : "4.2.1" - } - }, - { - "desc" : "Solaris", - "ua" : "NCSA Mosaic/1.0 (X11;SunOS 4.1.4 sun4m)", - "expect" : - { - "name" : "Solaris", - "version" : "4.1.4" - } - }, - { - "desc" : "Raspbian", - "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/72.0.3626.121 HeadlessChrome/72.0.3626.121 Safari/537.36", - "expect" : - { - "name" : "Raspbian", - "version" : "undefined" - } - }, - { - "desc" : "Raspbian", - "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/538.15 (KHTML, like Gecko) Version/8.0 Safari/538.15 Raspbian/9.0 (1:3.8.2.0-0rpi28) Epiphany/3.8.2", - "expect" : - { - "name" : "Raspbian", - "version" : "9.0" - } - }, - { - "desc" : "AIX", - "ua" : "Mozilla/5.0 (X11; U; AIX 000138384C00; en-US; rv:1.0.1) Gecko/20030213 Netscape/7.0", - "expect" : - { - "name" : "AIX", - "version" : "undefined" - } - }, - { - "desc" : "Plan9", - "ua" : "NCSA_Mosaic/5.0 (X11;Plan 9 4.0)", - "expect" : - { - "name" : "Plan 9", - "version" : "4.0" - } - }, - { - "desc" : "Minix", - "ua" : "Mozilla/5.0 (X11; Original ; Minix 3.3 ; rv:3.0)", - "expect" : - { - "name" : "Minix", - "version" : "3.3" - } - }, - { - "desc" : "BeOS", - "ua" : "Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.8.1.8pre) Gecko/20070926 SeaMonkey/1.1.5pre", - "expect" : - { - "name" : "BeOS", - "version" : "undefined" - } - }, - { - "desc" : "OS/2", - "ua" : "Links (2.1pre14; OS/2 1 i386; 80x33)", - "expect" : - { - "name" : "OS/2", - "version" : "undefined" - } - }, - { - "desc" : "AmigaOS", - "ua" : "Mozilla/4.0 (compatible; AWEB 3.4 SE; AmigaOS)", - "expect" : - { - "name" : "AmigaOS", - "version" : "undefined" - } - }, - { - "desc" : "MorphOS", - "ua" : "AmigaVoyager/3.4.4 (MorphOS/PPC native)", - "expect" : - { - "name" : "MorphOS", - "version" : "undefined" - } - }, - { - "desc" : "UNIX", - "ua" : "Surf/0.4.1 (X11; U; Unix; en-US) AppleWebKit/531.2+ Compatible (Safari)", - "expect" : - { - "name" : "Unix", - "version" : "undefined" - } - }, - { - "desc" : "Joli", - "ua" : "Mozilla/5.0 (X11; Jolicloud Linux i686) AppleWebKit/537.6 (KHTML, like Gecko) Joli OS/1.2 Chromium/23.0.1240.0 Chrome/23.0.1240.0 Safari/537.6", - "expect" : - { - "name" : "Joli", - "version" : "1.2" - } - }, - { - "desc" : "CentOS", - "ua" : "Konqueror/15.13 (CentOS Linux 7.4; cs-CZ;)", - "expect" : - { - "name" : "CentOS", - "version" : "7.4" - } - }, - { - "desc" : "PCLinuxOS", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101209 PCLinuxOS/1.9.2.13-1pclos2010 (2010) Firefox/3.6.13", - "expect" : - { - "name" : "PCLinuxOS", - "version" : "1.9.2.13-1pclos2010" - } - }, - { - "desc" : "RedHat", - "ua" : "Mozilla/5.0 (compatible; Konqueror/4.3; Linux) KHTML/4.3.4 (like Gecko) Red Hat Enterprise Linux/4.3.4-11.el6_1.4", - "expect" : - { - "name" : "Red Hat", - "version" : "4.3.4-11.el6_1.4" - } - }, - { - "desc" : "RedHat", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.13pre) Gecko/20070717 Red Hat/1.0.9-4.el4 SeaMonkey/1.0.9", - "expect" : - { - "name" : "Red Hat", - "version" : "1.0.9-4.el4" - } - }, - { - "desc" : "RedHat", - "ua" : "iTunes/4.7.1 (Linux; N; Red Hat; x86_64-linux; EN; utf8) SqueezeCenter, Squeezebox Server, Logitech Media Server/7.9.1/1522157629", - "expect" : - { - "name" : "Red Hat", - "version" : "undefined" - } - }, - { - "desc" : "RedHat", - "ua" : "curl/7.20.0 (x86_64-redhat-linux-gnu) libcurl/7.20.0 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5", - "expect" : - { - "name" : "redhat", - "version" : "undefined" - } - }, - { - "desc" : "RISC OS", - "ua" : "Mozilla/1.10 [en] (Compatible; RISC OS 3.70; Oregano 1.10)", - "expect" : - { - "name" : "RISC OS", - "version" : "3.70" - } - }, - { - "desc" : "Zenwalk", - "ua" : "Flock/2.16 (Zenwalk 7.3; es_PR;)", - "expect" : - { - "name" : "Zenwalk", - "version" : "7.3" - } - }, - { - "desc" : "Hurd", - "ua" : "Mozilla/5.0 (X11; Hurd 0.9 i386; en-US) libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/3.7.0 Safari/696.96", - "expect" : - { - "name" : "Hurd", - "version" : "0.9" - } - }, - { - "desc" : "Linux", - "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36", - "expect" : - { - "name" : "Linux", - "version" : "x86_64" - } - }, - { - "desc" : "Deepin", - "ua" : "Mozilla/5.0 (X11; Linux x86_64; Deepin 15.5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 NFSBrowser/5.0.0.1886", - "expect" : - { - "name" : "Deepin", - "version" : "15.5" - } - }, - { - "desc" : "Palm OS", - "ua" : "Mozilla/4.76 [en] (PalmOS; U; WebPro3.0; Palm-Arz1)", - "expect" : - { - "name" : "Palm", - "version" : "undefined" - } - }, - { - "desc" : "Panasonic Viera", - "ua" : "HbbTV/1.2.1 (;Panasonic;VIERA 2015;3.014;a001-003 4000-0000;)", - "expect" : - { - "name" : "VIERA", - "version" : "undefined" - } - }, - { - "desc" : "Netrange Smart TV", - "ua" : "Mozilla/5.0 (Linux; U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 OPR/46.0.2207.0 LOEWE-SL410/5.2.0.0 HbbTV/1.4.1 (; LOEWE; SL410; LOH/5.2.0.0;;) FVC/3.0 (LOEWE; SL410;) CE-HTML/1.0 Config (L:deu,CC:DEU) NETRANGEMMH", - "expect" : - { - "name" : "NETRANGE", - "version" : "undefined" - } - }, - { - "desc" : "NetTV 3.2.1", - "ua" : "Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70", - "expect" : - { - "name" : "NETTV", - "version" : "3.2.1" - } - }, - { - "desc" : "HP-UX", - "ua" : "Mozilla/5.0 (X11; U; HP-UX 9000/785; es-ES; rv:1.0.1) Gecko/20020827 Netscape/7.0", - "expect" : - { - "name" : "HP-UX", - "version" : "undefined" - } - }, - { - "desc" : "Contiki", - "ua" : "Contiki/1.0 (Commodore 64; http://dunkels.com/adam/contiki/)", - "expect" : - { - "name" : "Contiki", - "version" : "1.0" - } - }, - { - "desc" : "Linpus", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b5pre) Gecko/2008032619 Linpus/3.0-0.49", - "expect" : - { - "name" : "Linpus", - "version" : "3.0-0.49" - } - }, - { - "desc" : "Manjaro", - "ua" : "Mozilla/5.0 (X11; Manjaro 19.0.2; Arch; x64; rv:84.0) Gecko/20100101 Firefox/84.0", - "expect" : - { - "name" : "Manjaro", - "version" : "19.0.2" - } - }, - { - "desc" : "elementary OS", - "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/604.1 (KHTML, like Gecko) Version/11.0 Safari/604.1 elementary OS/0.4 (Loki) Epiphany/3.18.11", - "expect" : - { - "name" : "elementary OS", - "version" : "0.4" - } - }, - { - "desc" : "GhostBSD", - "ua" : "Mozilla/5.0 (X11; GhostBSD/10.3; x86_64; rv:50.0.1) Gecko/20100101 Firefox/50.0.1", - "expect" : - { - "name" : "GhostBSD", - "version" : "10.3" - } - }, - { - "desc" : "Android-x86", - "ua" : "Mozilla/5.0 (Linux; Android 7.1.2; Generic Android-x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 OPR/61.2.3076.56749", - "expect" : - { - "name" : "Android-x86", - "version" : "7.1.2" - } - }, - { - "desc" : "Sabayon", - "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Sabayon Chrome/19.0.1084.46 Safari/536.5", - "expect" : - { - "name" : "Sabayon", - "version" : "undefined" - } - }, - { - "desc" : "Linspire", - "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060803 Firefox/1.5.0.4 Linspire/1.5.0.4", - "expect" : - { - "name" : "Linspire", - "version" : "1.5.0.4" - } - }, - { - "desc" : "SerenityOS", - "ua" : "Mozilla/4.0 (SerenityOS; x86) LibWeb+LibJS (Not KHTML, nor Gecko) LibWeb", - "expect" : - { - "name" : "SerenityOS", - "version" : "undefined" - } - }, - { - "desc" : "OpenHarmony", - "ua" : "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile", - "expect" : - { - "name" : "OpenHarmony", - "version" : "4.1" - } - } -] diff --git a/test/specs/os/os2.json b/test/specs/os/os2.json new file mode 100644 index 000000000..cb38c1183 --- /dev/null +++ b/test/specs/os/os2.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "OS/2", + "ua" : "Links (2.1pre14; OS/2 1 i386; 80x33)", + "expect" : + { + "name" : "OS/2", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/palm.json b/test/specs/os/palm.json new file mode 100644 index 000000000..5fc831ebc --- /dev/null +++ b/test/specs/os/palm.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Palm OS", + "ua" : "Mozilla/4.76 [en] (PalmOS; U; WebPro3.0; Palm-Arz1)", + "expect" : + { + "name" : "Palm", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/pclinuxos.json b/test/specs/os/pclinuxos.json new file mode 100644 index 000000000..521b4be9b --- /dev/null +++ b/test/specs/os/pclinuxos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "PCLinuxOS", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101209 PCLinuxOS/1.9.2.13-1pclos2010 (2010) Firefox/3.6.13", + "expect" : + { + "name" : "PCLinuxOS", + "version" : "1.9.2.13-1pclos2010" + } + } +] \ No newline at end of file diff --git a/test/specs/os/pico.json b/test/specs/os/pico.json new file mode 100644 index 000000000..456a5fa47 --- /dev/null +++ b/test/specs/os/pico.json @@ -0,0 +1,26 @@ +[ + { + "desc": "Pico 4", + "ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.8.2 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.38 Chrome/105.0.5195.68 VR Safari/537.36", + "expect": { + "name" : "PICO", + "version" : "5.8.2" + } + }, + { + "desc": "Pico 4", + "ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36 OculusBrowser/7.0", + "expect": { + "name" : "PICO", + "version" : "5.4.0" + } + }, + { + "desc": "Pico Neo3 Link", + "ua": "Mozilla/5.0 (X11; Linux x86_64; Pico Neo3 Link OS5.8.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36", + "expect": { + "name" : "Pico", + "version" : "5.8.4.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/plan9.json b/test/specs/os/plan9.json new file mode 100644 index 000000000..e3726fb9a --- /dev/null +++ b/test/specs/os/plan9.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Plan9", + "ua" : "NCSA_Mosaic/5.0 (X11;Plan 9 4.0)", + "expect" : + { + "name" : "Plan 9", + "version" : "4.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/playstation.json b/test/specs/os/playstation.json new file mode 100644 index 000000000..38cf97fe4 --- /dev/null +++ b/test/specs/os/playstation.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "PlayStation 4", + "ua" : "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)", + "expect" : + { + "name" : "PlayStation", + "version" : "4" + } + }, + { + "desc" : "PlayStation 5", + "ua" : "Mozilla/5.0 (PlayStation 5/SmartTV) AppleWebKit/605.1.15 (KHTML, like Gecko)", + "expect" : + { + "name" : "PlayStation", + "version" : "5" + } + } +] \ No newline at end of file diff --git a/test/specs/os/qnx.json b/test/specs/os/qnx.json new file mode 100644 index 000000000..fcb3ed1c8 --- /dev/null +++ b/test/specs/os/qnx.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "QNX", + "ua" : "Mozilla/5.0 (Photon; U; QNX x86pc; en-US; rv:1.8.1.20) Gecko/20090127 BonEcho/2.0.0.20", + "expect" : + { + "name" : "QNX", + "version" : "x86pc" + } + } +] \ No newline at end of file diff --git a/test/specs/os/raspbian.json b/test/specs/os/raspbian.json new file mode 100644 index 000000000..10fd9fb11 --- /dev/null +++ b/test/specs/os/raspbian.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Raspbian", + "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/72.0.3626.121 HeadlessChrome/72.0.3626.121 Safari/537.36", + "expect" : + { + "name" : "Raspbian", + "version" : "undefined" + } + }, + { + "desc" : "Raspbian", + "ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/538.15 (KHTML, like Gecko) Version/8.0 Safari/538.15 Raspbian/9.0 (1:3.8.2.0-0rpi28) Epiphany/3.8.2", + "expect" : + { + "name" : "Raspbian", + "version" : "9.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/redhat.json b/test/specs/os/redhat.json new file mode 100644 index 000000000..89f3e25bd --- /dev/null +++ b/test/specs/os/redhat.json @@ -0,0 +1,38 @@ +[ + { + "desc" : "RedHat", + "ua" : "Mozilla/5.0 (compatible; Konqueror/4.3; Linux) KHTML/4.3.4 (like Gecko) Red Hat Enterprise Linux/4.3.4-11.el6_1.4", + "expect" : + { + "name" : "Red Hat", + "version" : "4.3.4-11.el6_1.4" + } + }, + { + "desc" : "RedHat", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.13pre) Gecko/20070717 Red Hat/1.0.9-4.el4 SeaMonkey/1.0.9", + "expect" : + { + "name" : "Red Hat", + "version" : "1.0.9-4.el4" + } + }, + { + "desc" : "RedHat", + "ua" : "iTunes/4.7.1 (Linux; N; Red Hat; x86_64-linux; EN; utf8) SqueezeCenter, Squeezebox Server, Logitech Media Server/7.9.1/1522157629", + "expect" : + { + "name" : "Red Hat", + "version" : "undefined" + } + }, + { + "desc" : "RedHat", + "ua" : "curl/7.20.0 (x86_64-redhat-linux-gnu) libcurl/7.20.0 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5", + "expect" : + { + "name" : "redhat", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/rim-tablet-os.json b/test/specs/os/rim-tablet-os.json new file mode 100644 index 000000000..4451c3cda --- /dev/null +++ b/test/specs/os/rim-tablet-os.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "RIM Tablet OS", + "ua" : "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+", + "expect" : + { + "name" : "RIM Tablet OS", + "version" : "2.1.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/risc-os.json b/test/specs/os/risc-os.json new file mode 100644 index 000000000..5442784e3 --- /dev/null +++ b/test/specs/os/risc-os.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "RISC OS", + "ua" : "Mozilla/1.10 [en] (Compatible; RISC OS 3.70; Oregano 1.10)", + "expect" : + { + "name" : "RISC OS", + "version" : "3.70" + } + } +] \ No newline at end of file diff --git a/test/specs/os/sabayon.json b/test/specs/os/sabayon.json new file mode 100644 index 000000000..d44f9e2d3 --- /dev/null +++ b/test/specs/os/sabayon.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Sabayon", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Sabayon Chrome/19.0.1084.46 Safari/536.5", + "expect" : + { + "name" : "Sabayon", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/sailfish.json b/test/specs/os/sailfish.json new file mode 100644 index 000000000..f96376be4 --- /dev/null +++ b/test/specs/os/sailfish.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Sailfish", + "ua" : "Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.0", + "expect" : + { + "name" : "Sailfish", + "version" : "3.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/serenityos.json b/test/specs/os/serenityos.json new file mode 100644 index 000000000..748546e39 --- /dev/null +++ b/test/specs/os/serenityos.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "SerenityOS", + "ua" : "Mozilla/4.0 (SerenityOS; x86) LibWeb+LibJS (Not KHTML, nor Gecko) LibWeb", + "expect" : + { + "name" : "SerenityOS", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/series40.json b/test/specs/os/series40.json new file mode 100644 index 000000000..1b02c1538 --- /dev/null +++ b/test/specs/os/series40.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Series40", + "ua" : "Mozilla/5.0 (Series40; Nokia2055/03.20; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.34", + "expect" : + { + "name" : "Series40", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/slackware.json b/test/specs/os/slackware.json new file mode 100644 index 000000000..35f446e69 --- /dev/null +++ b/test/specs/os/slackware.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Slackware", + "ua" : "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41", + "expect" : + { + "name" : "Slackware", + "version" : "13.37" + } + } +] \ No newline at end of file diff --git a/test/specs/os/solaris.json b/test/specs/os/solaris.json new file mode 100644 index 000000000..450e47dbf --- /dev/null +++ b/test/specs/os/solaris.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Solaris", + "ua" : "Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7) Gecko/20070606", + "expect" : + { + "name" : "Solaris", + "version" : "sun4u" + } + }, + { + "desc" : "Solaris", + "ua" : "NCSA Mosaic/1.0 (X11;SunOS 4.1.4 sun4m)", + "expect" : + { + "name" : "Solaris", + "version" : "4.1.4" + } + } +] \ No newline at end of file diff --git a/test/specs/os/suse.json b/test/specs/os/suse.json new file mode 100644 index 000000000..9da3f3596 --- /dev/null +++ b/test/specs/os/suse.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "OpenSUSE", + "ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110420 SUSE/3.6.17-0.2.1 Firefox/3.6.17", + "expect" : + { + "name" : "SUSE", + "version" : "3.6.17-0.2.1" + } + } +] \ No newline at end of file diff --git a/test/specs/os/symbian.json b/test/specs/os/symbian.json new file mode 100644 index 000000000..24f509e25 --- /dev/null +++ b/test/specs/os/symbian.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Symbian", + "ua" : "Nokia5250/10.0.011 (SymbianOS/9.4; U; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 3gpp-gba", + "expect" : + { + "name" : "Symbian", + "version" : "9.4" + } + }, + { + "desc" : "Symbian", + "ua" : "Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaC7-00/024.001; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.1.37 Mobile Safari/533.4 3gpp-gba", + "expect" : + { + "name" : "Symbian", + "version" : "5.2" + } + } +] \ No newline at end of file diff --git a/test/specs/os/tizen.json b/test/specs/os/tizen.json new file mode 100644 index 000000000..4f9320d7c --- /dev/null +++ b/test/specs/os/tizen.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "Tizen", + "ua" : "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1", + "expect" : + { + "name" : "Tizen", + "version" : "2.3" + } + }, + { + "desc" : "Tizen", + "ua" : "Mozilla/5.0 (Linux; Tizen 2.3; SAMSUNG SM-Z130H) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.3 Mobile Safari/537.3", + "expect" : + { + "name" : "Tizen", + "version" : "2.3" + } + }, + { + "desc" : "Tizen 6.0", + "ua" : "HbbTV/1.5.1 (+DRM;Samsung;SmartTV2021:UAU7000;T-KSU2EDEUC-1506.0;KantSU2e;urn:samsungtv:familyname:21_KANTSU2E_UHD_BASIC:2021;) Tizen/6.0 (+TVPLUS+SmartHubLink) Chrome/76 LaTivu_1.0.1_2021 RVID/17", + "expect" : + { + "name" : "Tizen", + "version" : "6.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/ubuntu.json b/test/specs/os/ubuntu.json new file mode 100644 index 000000000..d3958f9fc --- /dev/null +++ b/test/specs/os/ubuntu.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Ubuntu", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.22+ (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.22+ Ubuntu/12.04 (3.4.1-0ubuntu1) Epiphany/3.4.1", + "expect" : + { + "name" : "Ubuntu", + "version" : "12.04" + } + }, + { + "desc" : "Ubuntu", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36", + "expect" : + { + "name" : "Ubuntu", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/unix.json b/test/specs/os/unix.json new file mode 100644 index 000000000..18e733208 --- /dev/null +++ b/test/specs/os/unix.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "UNIX", + "ua" : "Surf/0.4.1 (X11; U; Unix; en-US) AppleWebKit/531.2+ Compatible (Safari)", + "expect" : + { + "name" : "Unix", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/watchos.json b/test/specs/os/watchos.json new file mode 100644 index 000000000..ec2c30b55 --- /dev/null +++ b/test/specs/os/watchos.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "watchOS", + "ua" : "server-bag [Watch OS,8.4,19S546,Watch3,4]", + "expect" : + { + "name" : "watchOS", + "version" : "8.4" + } + }, + { + "desc" : "watchOS", + "ua" : "atc/1.0 watchOS/7.4.1 model/Watch3,3 hwp/t8004 build/18T201 (6; dt:155)", + "expect" : + { + "name" : "watchOS", + "version" : "7.4.1" + } + }, + { + "desc" : "watchOS", + "ua" : "Watch4,3/5.3.8 (16U680)", + "expect" : + { + "name" : "watchOS", + "version" : "5.3.8" + } + } +] \ No newline at end of file diff --git a/test/specs/os/webos.json b/test/specs/os/webos.json new file mode 100644 index 000000000..c31cd3f65 --- /dev/null +++ b/test/specs/os/webos.json @@ -0,0 +1,65 @@ +[ + { + "desc" : "WebOS", + "ua" : "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.5; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.83 Safari/534.6 TouchPad/1.0", + "expect" : + { + "name" : "webOS", + "version" : "3.0.5" + } + }, + { + "desc" : "WebOS", + "ua" : "Mozilla/5.0 (webOS/1.4.5; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.0", + "expect" : + { + "name" : "webOS", + "version" : "1.4.5" + } + }, + { + "desc" : "WebOS TV 5.x", + "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 WebAppManager", + "expect" : + { + "name" : "webOS", + "version" : "TV" + } + }, + { + "desc" : "WebOS TV 4.x", + "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.34 Safari/537.36 WebAppManager", + "expect" : + { + "name" : "webOS", + "version" : "TV" + } + }, + { + "desc" : "WebOS TV 3.x", + "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.2.1 Chrome/38.0.2125.122 Safari/537.36 WebAppManager", + "expect" : + { + "name" : "webOS", + "version" : "TV" + } + }, + { + "desc" : "WebOS TV 2.x", + "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/538.2 (KHTML, like Gecko) Large Screen WebAppManager Safari/538.2", + "expect" : + { + "name" : "webOS", + "version" : "TV" + } + }, + { + "desc" : "WebOS TV 1.x", + "ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41", + "expect" : + { + "name" : "webOS", + "version" : "TV" + } + } +] \ No newline at end of file diff --git a/test/specs/os/windows-mobile.json b/test/specs/os/windows-mobile.json new file mode 100644 index 000000000..5baf78c67 --- /dev/null +++ b/test/specs/os/windows-mobile.json @@ -0,0 +1,20 @@ +[ + { + "desc" : "Windows Mobile", + "ua" : "Mozilla/5.0 (ZTE-E_N72/N72V1.0.0B02;U;Windows Mobile/6.1;Profile/MIDP-2.0 Configuration/CLDC-1.1;320*240;CTC/2.0) IE/6.0 (compatible; MSIE 4.01; Windows CE; PPC)/UC Browser7.7.1.88", + "expect" : + { + "name" : "Windows Mobile", + "version" : "6.1" + } + }, + { + "desc" : "Windows Mobile", + "ua" : "Opera/9.80 (Windows Mobile; WCE; Opera Mobi/WMD-50433; U; en) Presto/2.4.13 Version/10.00", + "expect" : + { + "name" : "Windows Mobile", + "version" : "undefined" + } + } +] \ No newline at end of file diff --git a/test/specs/os/windows-phone.json b/test/specs/os/windows-phone.json new file mode 100644 index 000000000..a6a8b8212 --- /dev/null +++ b/test/specs/os/windows-phone.json @@ -0,0 +1,29 @@ +[ + { + "desc" : "Windows Phone", + "ua" : "Opera/9.80 (Windows Phone; Opera Mini/7.6.8/35.7518; U; ru) Presto/2.8.119 Version/11.10", + "expect" : + { + "name" : "Windows Phone", + "version" : "undefined" + } + }, + { + "desc" : "Windows Phone OS", + "ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)", + "expect" : + { + "name" : "Windows Phone OS", + "version" : "7.0" + } + }, + { + "desc" : "Windows Phone 8", + "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; HTC; Windows Phone 8X by HTC)", + "expect" : + { + "name" : "Windows Phone", + "version" : "8.0" + } + } +] \ No newline at end of file diff --git a/test/specs/os/windows.json b/test/specs/os/windows.json new file mode 100644 index 000000000..39e954155 --- /dev/null +++ b/test/specs/os/windows.json @@ -0,0 +1,146 @@ +[ + { + "desc" : "Windows 95", + "ua" : "Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)", + "expect" : + { + "name" : "Windows", + "version" : "95" + } + }, + { + "desc" : "Windows 98", + "ua" : "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", + "expect" : + { + "name" : "Windows", + "version" : "98" + } + }, + { + "desc" : "Windows ME", + "ua" : "Mozilla/5.0 (Windows; U; Win 9x 4.90) Gecko/20020502 CS 2000 7.0/7.0", + "expect" : + { + "name" : "Windows", + "version" : "ME" + } + }, + { + "desc" : "Windows 2000", + "ua" : "Mozilla/3.0 (compatible; MSIE 3.0; Windows NT 5.0)", + "expect" : + { + "name" : "Windows", + "version" : "2000" + } + }, + { + "desc" : "Windows XP", + "ua" : "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 5.2)", + "expect" : + { + "name" : "Windows", + "version" : "XP" + } + }, + { + "desc" : "Windows Vista", + "ua" : "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0; fr-FR)", + "expect" : + { + "name" : "Windows", + "version" : "Vista" + } + }, + { + "desc" : "Windows 7", + "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", + "expect" : + { + "name" : "Windows", + "version" : "7" + } + }, + { + "desc" : "Windows 8", + "ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C)", + "expect" : + { + "name" : "Windows", + "version" : "8" + } + }, + { + "desc" : "Windows 10", + "ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0", + "expect" : + { + "name" : "Windows", + "version" : "10" + } + }, + { + "desc" : "WeChat Desktop for Windows Built-in Browser", + "ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400", + "expect" : + { + "name" : "Windows", + "version" : "7" + } + }, + { + "desc" : "WeChat Desktop for Windows Built-in Browser major version in 4", + "ua" : "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/81.0.4044.138 safari/537.36 nettype/wifi micromessenger/7.0.20.1781(0x6700143b) windowswechat", + "expect" : + { + "name" : "Windows", + "version" : "7" + } + }, + { + "desc" : "Windows RT", + "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)", + "expect" : + { + "name" : "Windows", + "version" : "RT" + } + }, + { + "desc" : "Windows CE", + "ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)", + "expect" : + { + "name" : "Windows", + "version" : "CE" + } + }, + { + "desc" : "Windows NT on x86 or aarch64 CPU using Firefox", + "ua" : "Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0", + "expect" : + { + "name" : "Windows", + "version" : "NT x" + } + }, + { + "desc" : "Windows NT on x64 CPU using Firefox", + "ua" : "Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0", + "expect" : + { + "name" : "Windows", + "version" : "NT x" + } + }, + { + "desc" : "iTunes Windows Vista", + "ua" : "iTunes/10.7 (Windows; Microsoft Windows Vista Home Premium Edition Service Pack 1 (Build 6001)) AppleWebKit/536.26.9", + "expect" : + { + "name" : "Windows", + "version" : "Vista" + } + } +] \ No newline at end of file diff --git a/test/specs/os/xbox.json b/test/specs/os/xbox.json new file mode 100644 index 000000000..f8f9f6784 --- /dev/null +++ b/test/specs/os/xbox.json @@ -0,0 +1,47 @@ +[ + { + "desc" : "Xbox 360", + "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox 360) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36", + "expect" : + { + "name" : "Xbox", + "version" : "360" + } + }, + { + "desc" : "Xbox One", + "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One; WebView/3.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041", + "expect" : + { + "name" : "Xbox", + "version" : "One" + } + }, + { + "desc" : "Xbox X", + "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02", + "expect" : + { + "name" : "Xbox", + "version" : "X" + } + }, + { + "desc" : "Xbox Series X", + "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02 ", + "expect" : + { + "name" : "Xbox", + "version" : "Series X" + } + }, + { + "desc" : "Xbox Series S", + "ua" : "Mozilla/5.0 (Compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox Series S)", + "expect" : + { + "name" : "Xbox", + "version" : "Series S" + } + } +] \ No newline at end of file diff --git a/test/specs/os/zenwalk.json b/test/specs/os/zenwalk.json new file mode 100644 index 000000000..230b5ddd9 --- /dev/null +++ b/test/specs/os/zenwalk.json @@ -0,0 +1,11 @@ +[ + { + "desc" : "Zenwalk", + "ua" : "Flock/2.16 (Zenwalk 7.3; es_PR;)", + "expect" : + { + "name" : "Zenwalk", + "version" : "7.3" + } + } +] \ No newline at end of file