All Downloads are FREE. Search and download functionalities are using the official Maven repository.

UserAgents.OtherOS.yaml Maven / Gradle / Ivy

Go to download

A parsing an analyzing library to get information from a useragent string.

There is a newer version: 7.29.0
Show newest version
#
# Yet Another UserAgent Analyzer
# Copyright (C) 2013-2024 Niels Basjes
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an AS IS BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


config:

- lookup:
    name: 'SpecialOSTags'
    map:
      # https://en.wikipedia.org/wiki/Glass_OS
      "XE4"                     : "Augmented Reality|Glass OS|4"
      "XE5"                     : "Augmented Reality|Glass OS|5"
      "XE6"                     : "Augmented Reality|Glass OS|6"
      "XE7"                     : "Augmented Reality|Glass OS|7"
      "XE8"                     : "Augmented Reality|Glass OS|8"
      "XE9"                     : "Augmented Reality|Glass OS|9"
      "XE10"                    : "Augmented Reality|Glass OS|10"
      "XE11"                    : "Augmented Reality|Glass OS|11"
      "XE12"                    : "Augmented Reality|Glass OS|12"
      "XE13"                    : "Augmented Reality|Glass OS|13"
      "XE14"                    : "Augmented Reality|Glass OS|14"
      "XE15"                    : "Augmented Reality|Glass OS|15"
      "XE16"                    : "Augmented Reality|Glass OS|16"
      "XE17"                    : "Augmented Reality|Glass OS|17"
      "XE18"                    : "Augmented Reality|Glass OS|18"
      "XE19"                    : "Augmented Reality|Glass OS|19"
      "XE20"                    : "Augmented Reality|Glass OS|20"
      "XE21"                    : "Augmented Reality|Glass OS|21"
      "XE22"                    : "Augmented Reality|Glass OS|22"
      "XE23"                    : "Augmented Reality|Glass OS|23"
      "XE24"                    : "Augmented Reality|Glass OS|24"

- matcher:
    variable:
    - 'OSMatch                             :LookUp[SpecialOSTags;agent.product.comments.entry]'
    extract:
    - 'OperatingSystemClass                :     1001 :@OSMatch[[1]]'
    - 'OperatingSystemName                 :     1001 :@OSMatch[[2]]'
    - 'OperatingSystemVersion              :     1001 :@OSMatch[[3]]'

#  - matcher:
#      extract:
#        - 'DeviceClass           :   10:"Desktop"'
#        - 'DeviceBrand           :   10:"Sun"'
#        - 'DeviceName            :   10:"Sun"'
#        - 'OperatingSystemClass  :   10:"Desktop"'
#        - 'OperatingSystemName   :   10:agent.(1)product.(1)comments.entry.(1)product.name="SunOS"'
#        - 'OperatingSystemVersion:   10:agent.(1)product.(1)comments.entry.(1)product.name="SunOS"^.version'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; SunOS i86pc; rv:31.0) Gecko/20100101 Firefox/31.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'SUN Microsystems Desktop'
      DeviceBrand                          : 'SUN Microsystems'
      DeviceCpu                            : 'i86pc'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'SunOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'SunOS ??'
      OperatingSystemNameVersionMajor      : 'SunOS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '31.0'
      LayoutEngineVersionMajor             : '31'
      LayoutEngineNameVersion              : 'Gecko 31.0'
      LayoutEngineNameVersionMajor         : 'Gecko 31'
      LayoutEngineBuild                    : '20100101'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '31.0'
      AgentVersionMajor                    : '31'
      AgentNameVersion                     : 'Firefox 31.0'
      AgentNameVersionMajor                : 'Firefox 31'

#- matcher:
#    extract:
#    - 'DeviceClass                         :       10 :"Desktop"'
#    - 'DeviceName                          :       10 :"Desktop"'
#    - 'OperatingSystemClass                :       10 :"Desktop"'
#    - 'OperatingSystemName                 :       10 :agent.(1-4)product.comments.entry="OS/2"'
#    - 'OperatingSystemVersion              :       10 :"2.x"'

- matcher:
    extract:
    - 'DeviceClass                         :      160 :"Desktop"'
    - 'DeviceName                          :      160 :"Desktop"'
    - 'OperatingSystemClass                :      160 :"Desktop"'
    - 'OperatingSystemName                 :      160 :agent.(1-4)product.comments.entry="OS/2"'
    - 'OperatingSystemVersion              :      160 :agent.(1-4)product.comments.entry.(1)product.name="Warp"^'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (OS/2; Warp 4.5; rv:24.0) Gecko/20100101 Firefox/24.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OS/2'
      OperatingSystemVersion               : 'Warp 4.5'
      OperatingSystemVersionMajor          : 'Warp 4'
      OperatingSystemNameVersion           : 'OS/2 Warp 4.5'
      OperatingSystemNameVersionMajor      : 'OS/2 Warp 4'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '24.0'
      LayoutEngineVersionMajor             : '24'
      LayoutEngineNameVersion              : 'Gecko 24.0'
      LayoutEngineNameVersionMajor         : 'Gecko 24'
      LayoutEngineBuild                    : '20100101'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '24.0'
      AgentVersionMajor                    : '24'
      AgentNameVersion                     : 'Firefox 24.0'
      AgentNameVersionMajor                : 'Firefox 24'

- test:
    input:
      user_agent_string: 'Mozilla/4.61 [de] (OS/2; U)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OS/2 Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OS/2'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OS/2 ??'
      OperatingSystemNameVersionMajor      : 'OS/2 ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '4.61'
      LayoutEngineVersionMajor             : '4'
      LayoutEngineNameVersion              : 'Mozilla 4.61'
      LayoutEngineNameVersionMajor         : 'Mozilla 4'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '4.61'
      AgentVersionMajor                    : '4'
      AgentNameVersion                     : 'Netscape 4.61'
      AgentNameVersionMajor                : 'Netscape 4'
      AgentLanguage                        : 'German'
      AgentLanguageCode                    : 'de'
      AgentSecurity                        : 'Strong security'


- matcher:
    extract:
    - 'DeviceClass                         :      111 :"Mobile"'
    - 'DeviceName                          :      113 :agent.(1)product.(1)comments.entry.(1-2)product.name="PalmSource"^.(1)version'
    - 'DeviceBrand                         :      111 :"Palm"'
    - 'OperatingSystemClass                :      151 :"Mobile"'
    - 'OperatingSystemName                 :      151 :"Palm OS"'
    - 'OperatingSystemVersion              :      151 :"<<>>"'


- matcher:
    require:
    - 'agent.(1)product.(1)comments.entry.(1-2)product.name="PalmSource"'
    - 'agent.(1)product.(1)comments.entry.(1-2)product.name="Blazer"'
    extract:
    - 'LayoutEngineClass                   :     2100 : "Browser"'
    - 'LayoutEngineName                    :     2100 : "<<>>"'
    - 'LayoutEngineVersion                 :     2100 : "<<>>"'


- test:
    input:
      user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/hspr-H102; Blazer/4.0) 16;320x320'
    expected:
      DeviceClass                          : 'Mobile'
      DeviceName                           : 'Palm Hspr-H102'
      DeviceBrand                          : 'Palm'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Mobile'
      OperatingSystemName                  : 'Palm OS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Palm OS ??'
      OperatingSystemNameVersionMajor      : 'Palm OS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Unknown'
      LayoutEngineVersion                  : '??'
      LayoutEngineVersionMajor             : '??'
      LayoutEngineNameVersion              : 'Unknown ??'
      LayoutEngineNameVersionMajor         : 'Unknown ??'
      AgentClass                           : 'Browser'
      AgentName                            : 'Blazer'
      AgentVersion                         : '4.0'
      AgentVersionMajor                    : '4'
      AgentNameVersion                     : 'Blazer 4.0'
      AgentNameVersionMajor                : 'Blazer 4'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (BeOS; U; Haiku BePC; en-US; rv:1.8.1.18) Gecko/20081114 BonEcho/2.0.0.18'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Beos/Haiku Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'BeOS/Haiku'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'BeOS/Haiku ??'
      OperatingSystemNameVersionMajor      : 'BeOS/Haiku ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.18'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.18'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20081114'
      AgentClass                           : 'Browser'
      AgentName                            : 'BonEcho'
      AgentVersion                         : '2.0.0.18'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'BonEcho 2.0.0.18'
      AgentNameVersionMajor                : 'BonEcho 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Haiku R1 x86) AppleWebKit/602.1 (KHTML, like Gecko) QupZilla/1.8.9 Version/10.0 Safari/602.1'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Beos/Haiku Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'x86'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'BeOS/Haiku'
      OperatingSystemVersion               : 'R1'
      OperatingSystemVersionMajor          : 'R1'
      OperatingSystemNameVersion           : 'BeOS/Haiku R1'
      OperatingSystemNameVersionMajor      : 'BeOS/Haiku R1'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '602.1'
      LayoutEngineVersionMajor             : '602'
      LayoutEngineNameVersion              : 'AppleWebKit 602.1'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 602'
      AgentClass                           : 'Browser'
      AgentName                            : 'QupZilla'
      AgentVersion                         : '1.8.9'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'QupZilla 1.8.9'
      AgentNameVersionMajor                : 'QupZilla 1'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (Unknown; UNIX BSD/SYSV system) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.7.0 Safari/538.1'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Unix BSD/Sysv Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'UNIX BSD/SYSV'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'UNIX BSD/SYSV ??'
      OperatingSystemNameVersionMajor      : 'UNIX BSD/SYSV ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '538.1'
      LayoutEngineVersionMajor             : '538'
      LayoutEngineNameVersion              : 'AppleWebKit 538.1'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 538'
      AgentClass                           : 'Browser'
      AgentName                            : 'QupZilla'
      AgentVersion                         : '1.7.0'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'QupZilla 1.7.0'
      AgentNameVersionMajor                : 'QupZilla 1'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (OS/2; U; OS/2; en-US) AppleWebKit/533.3 (KHTML, like Gecko) QupZilla/1.3.1 Safari/533.3'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OS/2 Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OS/2'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OS/2 ??'
      OperatingSystemNameVersionMajor      : 'OS/2 ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '533.3'
      LayoutEngineVersionMajor             : '533'
      LayoutEngineNameVersion              : 'AppleWebKit 533.3'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 533'
      AgentClass                           : 'Browser'
      AgentName                            : 'QupZilla'
      AgentVersion                         : '1.3.1'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'QupZilla 1.3.1'
      AgentNameVersionMajor                : 'QupZilla 1'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentInformationEmail                : 'Unknown'
      AgentInformationUrl                  : 'Unknown'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; NetBSD alpha; en-US; rv:1.8.1.6) Gecko/20080115 Firefox/51.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Netbsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Alpha'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'NetBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'NetBSD ??'
      OperatingSystemNameVersionMajor      : 'NetBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.6'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.6'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20080115'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '51.0'
      AgentVersionMajor                    : '51'
      AgentNameVersion                     : 'Firefox 51.0'
      AgentNameVersionMajor                : 'Firefox 51'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; NetBSD amd64; fr-FR; rv:1.8.0.7) Gecko/20061102 Firefox/52.6.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Netbsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'AMD64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'NetBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'NetBSD ??'
      OperatingSystemNameVersionMajor      : 'NetBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.0.7'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.0.7'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20061102'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '52.6.0'
      AgentVersionMajor                    : '52'
      AgentNameVersion                     : 'Firefox 52.6.0'
      AgentNameVersionMajor                : 'Firefox 52'
      AgentLanguage                        : 'French (France)'
      AgentLanguageCode                    : 'fr-fr'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; NetBSD i386; en-US; rv:1.9.2.3) Gecko/20100403 Namoroka/3.6.3'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Netbsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'NetBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'NetBSD ??'
      OperatingSystemNameVersionMajor      : 'NetBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.9.2.3'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.9.2.3'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20100403'
      AgentClass                           : 'Browser'
      AgentName                            : 'Namoroka'
      AgentVersion                         : '3.6.3'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Namoroka 3.6.3'
      AgentNameVersionMajor                : 'Namoroka 3'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20071008 FreeBSD/i386 Firefox/2.0.0.8'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i686'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'FreeBSD ??'
      OperatingSystemNameVersionMajor      : 'FreeBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.8'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.8'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20071008'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '2.0.0.8'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Firefox 2.0.0.8'
      AgentNameVersionMajor                : 'Firefox 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; NetBSD sparc64; fr-FR; rv:1.8.1.6) Gecko/20070822 Firefox/52.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Netbsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Sparc 64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'NetBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'NetBSD ??'
      OperatingSystemNameVersionMajor      : 'NetBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.6'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.6'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20070822'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '52.0'
      AgentVersionMajor                    : '52'
      AgentNameVersion                     : 'Firefox 52.0'
      AgentNameVersionMajor                : 'Firefox 52'
      AgentLanguage                        : 'French (France)'
      AgentLanguageCode                    : 'fr-fr'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD amd64; en-US; rv:1.9.0.1) Gecko/2008081402 Firefox/3.0.1'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'AMD64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.9.0.1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.9.0.1'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '2008081402'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '3.0.1'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Firefox 3.0.1'
      AgentNameVersionMajor                : 'Firefox 3'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD arm; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.30.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'ARM'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '531.2'
      LayoutEngineVersionMajor             : '531'
      LayoutEngineNameVersion              : 'AppleWebKit 531.2'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 531'
      AgentClass                           : 'Browser'
      AgentName                            : 'Epiphany'
      AgentVersion                         : '2.30.0'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Epiphany 2.30.0'
      AgentNameVersionMajor                : 'Epiphany 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.8.1.4) Gecko/20071127 Firefox/2.0.0.11'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.4'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.4'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20071127'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '2.0.0.11'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Firefox 2.0.0.11'
      AgentNameVersionMajor                : 'Firefox 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD ppc; en-US; rv:1.8.1.4) Gecko/20070223 BonEcho/2.0.0.4'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'PowerPC'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.4'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.4'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20070223'
      AgentClass                           : 'Browser'
      AgentName                            : 'BonEcho'
      AgentVersion                         : '2.0.0.4'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'BonEcho 2.0.0.4'
      AgentNameVersionMajor                : 'BonEcho 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD sparc64; en-AU; rv:1.8.1.6) Gecko/20071225 Firefox/2.0.0.6'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Sparc 64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.6'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.6'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20071225'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '2.0.0.6'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Firefox 2.0.0.6'
      AgentNameVersionMajor                : 'Firefox 2'
      AgentLanguage                        : 'English (Australia)'
      AgentLanguageCode                    : 'en-au'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD sparc64; en-CA; rv:1.8.0.2) Gecko/20060429 Firefox/1.5.0.2'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Sparc 64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.0.2'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.0.2'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20060429'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '1.5.0.2'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Firefox 1.5.0.2'
      AgentNameVersionMajor                : 'Firefox 1'
      AgentLanguage                        : 'English (Canada)'
      AgentLanguageCode                    : 'en-ca'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD sparc64; en-US; rv:1.8.1.6) Gecko/20070816 Firefox/2.0.0.6'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Sparc 64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.1.6'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.1.6'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20070816'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '2.0.0.6'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Firefox 2.0.0.6'
      AgentNameVersionMajor                : 'Firefox 2'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD sparc64; pl-PL; rv:1.8.0.2) Gecko/20060429 Firefox/1.5.0.2'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Sparc 64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.0.2'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.0.2'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20060429'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '1.5.0.2'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Firefox 1.5.0.2'
      AgentNameVersionMajor                : 'Firefox 1'
      AgentLanguage                        : 'Polish (Poland)'
      AgentLanguageCode                    : 'pl-pl'
      AgentSecurity                        : 'Strong security'


- set:
    name: 'OSNamesForBrowserMatching'
    merge:
    - 'UbuntuOSName'
    - 'OSPatterns'

- matcher:
    variable:
    - 'Browser                             :agent.product.name?OSNamesForBrowserMatching^'
    extract:
    - 'AgentVersion                        :     2000 : @Browser.(2)version!?OSNamesForBrowserMatching'
    - 'AgentName                           :     2000 : @Browser.(1)version!?OSNamesForBrowserMatching'

- test:
    input:
      user_agent_string: 'Mozilla/6.0 (X11; U; Linux x86_64; en-US; rv:2.9.0.3) Gecko/2009022510 FreeBSD/ Sunrise/4.0.1/like Safari'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '4.0.1'
      OperatingSystemVersionMajor          : '4'
      OperatingSystemNameVersion           : 'FreeBSD 4.0.1'
      OperatingSystemNameVersionMajor      : 'FreeBSD 4'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '2.9.0.3'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Gecko 2.9.0.3'
      LayoutEngineNameVersionMajor         : 'Gecko 2'
      LayoutEngineBuild                    : '2009022510'
      AgentClass                           : 'Browser'
      AgentName                            : 'Sunrise'
      AgentVersion                         : '4.0.1'
      AgentVersionMajor                    : '4'
      AgentNameVersion                     : 'Sunrise 4.0.1'
      AgentNameVersionMajor                : 'Sunrise 4'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'
      RemarkablePattern                    : 'No such version: Mozilla'


- test:
    input:
      user_agent_string: 'Opera/9.01 (X11; OpenBSD i386; U; en)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OpenBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OpenBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OpenBSD ??'
      OperatingSystemNameVersionMajor      : 'OpenBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Presto 1'
      LayoutEngineNameVersionMajor         : 'Presto 1'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '9.01'
      AgentVersionMajor                    : '9'
      AgentNameVersion                     : 'Opera 9.01'
      AgentNameVersionMajor                : 'Opera 9'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Strong security'

- test:
    input:
      user_agent_string: 'Opera/9.80 (X11; FreeBSD 8.2-STABLE i386; U; en) Presto/2.9.168 Version/11.50'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '8.2-STABLE'
      OperatingSystemVersionMajor          : '8'
      OperatingSystemNameVersion           : 'FreeBSD 8.2-STABLE'
      OperatingSystemNameVersionMajor      : 'FreeBSD 8'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '2.9.168'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Presto 2.9.168'
      LayoutEngineNameVersionMajor         : 'Presto 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '11.50'
      AgentVersionMajor                    : '11'
      AgentNameVersion                     : 'Opera 11.50'
      AgentNameVersionMajor                : 'Opera 11'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Strong security'

- matcher:
    require:
    - 'agent.(1-4)product.comments.entry[1]="Indy"'
    extract:
    - 'DeviceClass                         :        1 : "Desktop"'
    - 'DeviceName                          :        1 : "Indy"'
    - 'DeviceBrand                         :        1 : "Silicon Graphics"'
    - 'OperatingSystemClass                :        1 : "Desktop"'
    - 'OperatingSystemName                 :        1 : "Irix"'
    - 'OperatingSystemVersion              :        1 : "<<>>"'

- test:
    input:
      user_agent_string: 'Mozilla/3.0 (compatible; Indy Library)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Silicon Graphics Indy'
      DeviceBrand                          : 'Silicon Graphics'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Irix'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Irix ??'
      OperatingSystemNameVersionMajor      : 'Irix ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'

- matcher:
    require:
      - 'agent.product.comments.entry="ZX-81"'
    extract:
      - 'DeviceName  : 200 : "ZX-81"'
      - 'DeviceBrand : 200 : "Spectrum"'
      - 'RemarkablePattern                 :    10 :"Very uncommon"'

# TODO: I expect this to be faked. ZX-81, CP/M running Chrome ... suuuuure
- test:
    input:
      User-Agent                           : 'Mozilla/3.0 ZX-81; U; CP/M86; en-US; rv:1.8.0.1 AppleWebKit/523.9+ (KHTML, like Gecko) Chrome/34.0.1847 Safari/85.5'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Spectrum ZX-81'
      DeviceBrand                          : 'Spectrum'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'CP/M'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'CP/M ??'
      OperatingSystemNameVersionMajor      : 'CP/M ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '34.0'
      LayoutEngineVersionMajor             : '34'
      LayoutEngineNameVersion              : 'Blink 34.0'
      LayoutEngineNameVersionMajor         : 'Blink 34'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '34.0.1847'
      AgentVersionMajor                    : '34'
      AgentNameVersion                     : 'Chrome 34.0.1847'
      AgentNameVersionMajor                : 'Chrome 34'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'
      RemarkablePattern                    : 'Very uncommon'


# Missing comment braces, and fakes in several other ways.
- test:
    input:
      User-Agent                           : 'Mozilla/3.0 ZX-81; U; CP/M86; en-US; rv:1.8.0.1 Gecko/20060728 Firefox/68.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Spectrum ZX-81'
      DeviceBrand                          : 'Spectrum'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'CP/M'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'CP/M ??'
      OperatingSystemNameVersionMajor      : 'CP/M ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.8.0.1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.8.0.1'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20060728'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '68.0'
      AgentVersionMajor                    : '68'
      AgentNameVersion                     : 'Firefox 68.0'
      AgentNameVersionMajor                : 'Firefox 68'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'
      RemarkablePattern                    : 'Very uncommon'


- test:
    input:
      User-Agent                           : 'Mozilla/1.10 [en] (Compatible; RISC OS 3.70; Oregano 1.10)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Risc OS Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'RISC OS'
      OperatingSystemVersion               : '3.70'
      OperatingSystemVersionMajor          : '3'
      OperatingSystemNameVersion           : 'RISC OS 3.70'
      OperatingSystemNameVersionMajor      : 'RISC OS 3'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '1.10'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Mozilla 1.10'
      LayoutEngineNameVersionMajor         : 'Mozilla 1'
      AgentClass                           : 'Browser'
      AgentName                            : 'Oregano'
      AgentVersion                         : '1.10'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Oregano 1.10'
      AgentNameVersionMajor                : 'Oregano 1'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'


- test:
    input:
      User-Agent                           : 'Mozilla/2.01 (Win16; I)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '16'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 3.x'
      OperatingSystemVersion               : '3.x'
      OperatingSystemVersionMajor          : '3'
      OperatingSystemNameVersion           : 'Windows 3.x'
      OperatingSystemNameVersionMajor      : 'Windows 3'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '2.01'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Mozilla 2.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '2.01'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Netscape 2.01'
      AgentNameVersionMajor                : 'Netscape 2'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/2.02E (Win95; U)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '2.02E'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Mozilla 2.02E'
      LayoutEngineNameVersionMajor         : 'Mozilla 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '2.02E'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Netscape 2.02E'
      AgentNameVersionMajor                : 'Netscape 2'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/2.02Gold (Win95; I)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '2.02'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Mozilla 2.02'
      LayoutEngineNameVersionMajor         : 'Mozilla 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '2.02'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Netscape 2.02'
      AgentNameVersionMajor                : 'Netscape 2'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/2.0 (compatible; MSIE 2.1; Mac_PowerPC)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Apple Macintosh'
      DeviceBrand                          : 'Apple'
      DeviceCpu                            : 'PowerPC'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Mac OS'
      OperatingSystemVersion               : 'before 10'
      OperatingSystemVersionMajor          : 'before 10'
      OperatingSystemNameVersion           : 'Mac OS before 10'
      OperatingSystemNameVersionMajor      : 'Mac OS before 10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '2.1'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Internet Explorer 2.1'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '2.1'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Internet Explorer 2.1'
      AgentNameVersionMajor                : 'Internet Explorer 2'


- test:
    input:
      User-Agent                           : 'Mozilla/2.0 (compatible; MSIE 3.02; Update a; AK; Windows NT)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows NT ??'
      OperatingSystemNameVersionMajor      : 'Windows NT ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '3.02'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Internet Explorer 3.02'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '3.02'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Internet Explorer 3.02'
      AgentNameVersionMajor                : 'Internet Explorer 3'
      AgentLanguage                        : 'Akan'
      AgentLanguageCode                    : 'ak'


- test:
    input:
      User-Agent                           : 'Mozilla/2.0 (compatible; MSIE 3.02; Update a; AOL 3.0; Windows 95)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '3.02'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Internet Explorer 3.02'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'AOL'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'AOL 3.0'
      AgentNameVersionMajor                : 'AOL 3'


- test:
    input:
      User-Agent                           : 'Mozilla/2.0 (compatible; MSIE 3.0; AK; Windows 95)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Internet Explorer 3.0'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Internet Explorer 3.0'
      AgentNameVersionMajor                : 'Internet Explorer 3'
      AgentLanguage                        : 'Akan'
      AgentLanguageCode                    : 'ak'


- test:
    input:
      User-Agent                           : 'Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '16'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 3.x'
      OperatingSystemVersion               : '3.1'
      OperatingSystemVersionMajor          : '3'
      OperatingSystemNameVersion           : 'Windows 3.1'
      OperatingSystemNameVersionMajor      : 'Windows 3'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Internet Explorer 3.0'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Internet Explorer 3.0'
      AgentNameVersionMajor                : 'Internet Explorer 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01 (compatible; AmigaVoyager/2.95; AmigaOS/MC680x0)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Amiga'
      DeviceBrand                          : 'Amiga'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AmigaOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'AmigaOS ??'
      OperatingSystemNameVersionMajor      : 'AmigaOS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01 (compatible; Netbox/3.5 R92; Linux 2.2)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Linux Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Linux'
      OperatingSystemVersion               : '2.2'
      OperatingSystemVersionMajor          : '2'
      OperatingSystemNameVersion           : 'Linux 2.2'
      OperatingSystemNameVersionMajor      : 'Linux 2'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01 [de] (Win95; I)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentLanguage                        : 'German'
      AgentLanguageCode                    : 'de'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01Gold (Win95; I)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 9x'
      OperatingSystemVersion               : '95'
      OperatingSystemVersionMajor          : '95'
      OperatingSystemNameVersion           : 'Windows 95'
      OperatingSystemNameVersionMajor      : 'Windows 95'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01Gold (X11; I; SunOS 5.5.1 sun4m)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'SUN Microsystems Desktop'
      DeviceBrand                          : 'SUN Microsystems'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'SunOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'SunOS ??'
      OperatingSystemNameVersionMajor      : 'SunOS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.04 (compatible; ANTFresco/2.13; RISC OS 4.02)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Risc OS Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'RISC OS'
      OperatingSystemVersion               : '4.02'
      OperatingSystemVersionMajor          : '4'
      OperatingSystemNameVersion           : 'RISC OS 4.02'
      OperatingSystemNameVersionMajor      : 'RISC OS 4'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.04'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.04'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.04'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.04'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (compatible; MSIE 3.0; Windows NT 5.0)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '2000'
      OperatingSystemVersionMajor          : '2000'
      OperatingSystemNameVersion           : 'Windows 2000'
      OperatingSystemNameVersionMajor      : 'Windows 2000'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Internet Explorer 3.0'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Internet Explorer 3.0'
      AgentNameVersionMajor                : 'Internet Explorer 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (compatible; NetPositive/2.2.2; BeOS)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Beos/Haiku Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'BeOS/Haiku'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'BeOS/Haiku ??'
      OperatingSystemNameVersionMajor      : 'BeOS/Haiku ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (compatible; Opera/3.0; Windows 3.1) v3.1'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '16'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 3.x'
      OperatingSystemVersion               : '3.1'
      OperatingSystemVersionMajor          : '3'
      OperatingSystemNameVersion           : 'Windows 3.1'
      OperatingSystemNameVersionMajor      : 'Windows 3'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (compatible; Opera/3.0; Windows 95/NT4) 3.2'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows ??'
      OperatingSystemNameVersionMajor      : 'Windows ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (Macintosh; I; PPC)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Apple Macintosh'
      DeviceBrand                          : 'Apple'
      DeviceCpu                            : 'PowerPC'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Mac OS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Mac OS ??'
      OperatingSystemNameVersionMajor      : 'Mac OS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 WebTV/1.2 (compatible; MSIE 2.0)'
    expected:
      DeviceClass                          : 'Unknown'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Unknown'
      OperatingSystemName                  : 'Unknown'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Unknown ??'
      OperatingSystemNameVersionMajor      : 'Unknown ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Internet Explorer'
      LayoutEngineVersion                  : '2.0'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Internet Explorer 2.0'
      LayoutEngineNameVersionMajor         : 'Internet Explorer 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '2.0'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'Internet Explorer 2.0'
      AgentNameVersionMajor                : 'Internet Explorer 2'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (Win16; I)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '16'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows 3.x'
      OperatingSystemVersion               : '3.x'
      OperatingSystemVersionMajor          : '3'
      OperatingSystemNameVersion           : 'Windows 3.x'
      OperatingSystemNameVersionMajor      : 'Windows 3'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (Windows NT 5.0; U) Opera 7.01 [en]'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '2000'
      OperatingSystemVersionMajor          : '2000'
      OperatingSystemNameVersion           : 'Windows 2000'
      OperatingSystemNameVersionMajor      : 'Windows 2000'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Presto 1'
      LayoutEngineNameVersionMajor         : 'Presto 1'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '7.01'
      AgentVersionMajor                    : '7'
      AgentNameVersion                     : 'Opera 7.01'
      AgentNameVersionMajor                : 'Opera 7'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (X11; I; OSF1 V4.0 alpha)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OSF/1 Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Alpha'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OSF/1'
      OperatingSystemVersion               : 'V4.0'
      OperatingSystemVersionMajor          : 'V4'
      OperatingSystemNameVersion           : 'OSF/1 V4.0'
      OperatingSystemNameVersionMajor      : 'OSF/1 V4'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'SUN Microsystems Desktop'
      DeviceBrand                          : 'SUN Microsystems'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'SunOS'
      OperatingSystemVersion               : 'sun4m'
      OperatingSystemVersionMajor          : 'sun4m'
      OperatingSystemNameVersion           : 'SunOS sun4m'
      OperatingSystemNameVersionMajor      : 'SunOS sun4m'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


# FIXME: Much is incorrect: Missing space in the OS tag breaks this detection.
#- test:
#    input:
#      User-Agent                           : 'Mozilla/3.0 (WorldGate Gazelle 3.5.1 build 11; FreeBSD2.2.8-STABLE)'
#    expected:
#      DeviceClass                          : 'Mobile'
#      DeviceName                           : 'WorldGate Gazelle 3.5.1'
#      DeviceBrand                          : 'WorldGate'
#      OperatingSystemClass                 : 'Unknown'
#      OperatingSystemName                  : 'Unknown'
#      OperatingSystemVersion               : '??'
#      OperatingSystemVersionMajor          : '??'
#      OperatingSystemNameVersion           : 'Unknown ??'
#      OperatingSystemNameVersionMajor      : 'Unknown ??'
#      OperatingSystemVersionBuild          : '11'
#      LayoutEngineClass                    : 'Browser'
#      LayoutEngineName                     : 'Mozilla'
#      LayoutEngineVersion                  : '3.0'
#      LayoutEngineVersionMajor             : '3'
#      LayoutEngineNameVersion              : 'Mozilla 3.0'
#      LayoutEngineNameVersionMajor         : 'Mozilla 3'
#      AgentClass                           : 'Browser'
#      AgentName                            : 'Netscape'
#      AgentVersion                         : '3.0'
#      AgentVersionMajor                    : '3'
#      AgentNameVersion                     : 'Netscape 3.0'
#      AgentNameVersionMajor                : 'Netscape 3'

- test:
    input:
      User-Agent                           : 'Mozilla/4.79C-SGI [en] (X11; I; IRIX64 6.5 IP28)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Silicon Graphics Desktop'
      DeviceBrand                          : 'Silicon Graphics'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'IRIX'
      OperatingSystemVersion               : '6.5'
      OperatingSystemVersionMajor          : '6'
      OperatingSystemNameVersion           : 'IRIX 6.5'
      OperatingSystemNameVersionMajor      : 'IRIX 6'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '4.79C-SGI'
      LayoutEngineVersionMajor             : '4'
      LayoutEngineNameVersion              : 'Mozilla 4.79C-SGI'
      LayoutEngineNameVersionMajor         : 'Mozilla 4'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '4.79C-SGI'
      AgentVersionMajor                    : '4'
      AgentNameVersion                     : 'Netscape 4.79C-SGI'
      AgentNameVersionMajor                : 'Netscape 4'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/4.77C-SGI [en] (X11; U; IRIX 6.5 IP32)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Silicon Graphics Desktop'
      DeviceBrand                          : 'Silicon Graphics'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'IRIX'
      OperatingSystemVersion               : '6.5'
      OperatingSystemVersionMajor          : '6'
      OperatingSystemNameVersion           : 'IRIX 6.5'
      OperatingSystemNameVersionMajor      : 'IRIX 6'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '4.77C-SGI'
      LayoutEngineVersionMajor             : '4'
      LayoutEngineNameVersion              : 'Mozilla 4.77C-SGI'
      LayoutEngineNameVersionMajor         : 'Mozilla 4'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '4.77C-SGI'
      AgentVersionMajor                    : '4'
      AgentNameVersion                     : 'Netscape 4.77C-SGI'
      AgentNameVersionMajor                : 'Netscape 4'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.01SGoldC-SGI (X11; I; IRIX 6.3 IP32)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Silicon Graphics Desktop'
      DeviceBrand                          : 'Silicon Graphics'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'IRIX'
      OperatingSystemVersion               : '6.3'
      OperatingSystemVersionMajor          : '6'
      OperatingSystemNameVersion           : 'IRIX 6.3'
      OperatingSystemNameVersionMajor      : 'IRIX 6'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.01SGoldC-SGI'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.01SGoldC-SGI'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.01SGoldC-SGI'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.01SGoldC-SGI'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; AIX 5.3; en-US; rv:1.7.12) Gecko/20051025'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'IBM Desktop'
      DeviceBrand                          : 'IBM'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AIX'
      OperatingSystemVersion               : '5.3'
      OperatingSystemVersionMajor          : '5'
      OperatingSystemNameVersion           : 'AIX 5.3'
      OperatingSystemNameVersionMajor      : 'AIX 5'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.7.12'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.7.12'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20051025'
      AgentClass                           : 'Browser'
      AgentName                            : 'Gecko'
      AgentVersion                         : '1.7.12'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Gecko 1.7.12'
      AgentNameVersionMajor                : 'Gecko 1'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; AIX 0048013C4C00; en-US; rv:1.0.1) Gecko/20021009 Netscape/7.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'IBM Desktop'
      DeviceBrand                          : 'IBM'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AIX'
      OperatingSystemVersion               : '0048013C4C00'
      OperatingSystemVersionMajor          : '0048013C4C00'
      OperatingSystemNameVersion           : 'AIX 0048013C4C00'
      OperatingSystemNameVersionMajor      : 'AIX 0048013C4C00'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.0.1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.0.1'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20021009'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '7.0'
      AgentVersionMajor                    : '7'
      AgentNameVersion                     : 'Netscape 7.0'
      AgentNameVersionMajor                : 'Netscape 7'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; AIX 005A471A4C00; en-US; rv:1.0rc2) Gecko/20020514'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'IBM Desktop'
      DeviceBrand                          : 'IBM'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AIX'
      OperatingSystemVersion               : '005A471A4C00'
      OperatingSystemVersionMajor          : '005A471A4C00'
      OperatingSystemNameVersion           : 'AIX 005A471A4C00'
      OperatingSystemNameVersionMajor      : 'AIX 005A471A4C00'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.0rc2'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.0rc2'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20020514'
      AgentClass                           : 'Browser'
      AgentName                            : 'Gecko'
      AgentVersion                         : '1.0rc2'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Gecko 1.0rc2'
      AgentNameVersionMajor                : 'Gecko 1'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/3.0 (X11; I; AIX 2)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'IBM Desktop'
      DeviceBrand                          : 'IBM'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AIX'
      OperatingSystemVersion               : '2'
      OperatingSystemVersionMajor          : '2'
      OperatingSystemNameVersion           : 'AIX 2'
      OperatingSystemNameVersionMajor      : 'AIX 2'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Mozilla'
      LayoutEngineVersion                  : '3.0'
      LayoutEngineVersionMajor             : '3'
      LayoutEngineNameVersion              : 'Mozilla 3.0'
      LayoutEngineNameVersionMajor         : 'Mozilla 3'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '3.0'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'Netscape 3.0'
      AgentNameVersionMajor                : 'Netscape 3'
      AgentSecurity                        : 'Weak security'


- test:
    input:
      User-Agent                           : 'NCSA_Mosaic/2.7b4 (X11;AIX 1 000180663000)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'IBM Desktop'
      DeviceBrand                          : 'IBM'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AIX'
      OperatingSystemVersion               : '000180663000'
      OperatingSystemVersionMajor          : '000180663000'
      OperatingSystemNameVersion           : 'AIX 000180663000'
      OperatingSystemNameVersionMajor      : 'AIX 000180663000'
      LayoutEngineClass                    : 'Unknown'
      LayoutEngineName                     : 'Unknown'
      LayoutEngineVersion                  : '??'
      LayoutEngineVersionMajor             : '??'
      LayoutEngineNameVersion              : 'Unknown ??'
      LayoutEngineNameVersionMajor         : 'Unknown ??'
      AgentClass                           : 'Special'
      AgentName                            : 'NCSA_Mosaic'
      AgentVersion                         : '2.7b4'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'NCSA_Mosaic 2.7b4'
      AgentNameVersionMajor                : 'NCSA_Mosaic 2'


- test:
    input:
      User-Agent                           : 'Opera/9.70 X11; FreeBSD 6 i386; U; en Presto/2.10.289 Version/57.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '6'
      OperatingSystemVersionMajor          : '6'
      OperatingSystemNameVersion           : 'FreeBSD 6'
      OperatingSystemNameVersionMajor      : 'FreeBSD 6'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '2.10.289'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Presto 2.10.289'
      LayoutEngineNameVersionMajor         : 'Presto 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '57.0'
      AgentVersionMajor                    : '57'
      AgentNameVersion                     : 'Opera 57.0'
      AgentNameVersionMajor                : 'Opera 57'
      AgentLanguage                        : 'English'
      AgentLanguageCode                    : 'en'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Opera/9.70 X11; FreeBSD 6 i386; U;pl Presto/2.6.31 Version/67.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '6'
      OperatingSystemVersionMajor          : '6'
      OperatingSystemNameVersion           : 'FreeBSD 6'
      OperatingSystemNameVersionMajor      : 'FreeBSD 6'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '2.6.31'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Presto 2.6.31'
      LayoutEngineNameVersionMajor         : 'Presto 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '67.0'
      AgentVersionMajor                    : '67'
      AgentNameVersion                     : 'Opera 67.0'
      AgentNameVersionMajor                : 'Opera 67'
      AgentLanguage                        : 'Polish'
      AgentLanguageCode                    : 'pl'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Opera/9.70 X11; FreeBSD x86_64; rv:2.0 Presto/2.6.22 Version/72.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'FreeBsd Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'FreeBSD'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'FreeBSD ??'
      OperatingSystemNameVersionMajor      : 'FreeBSD ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '2.6.22'
      LayoutEngineVersionMajor             : '2'
      LayoutEngineNameVersion              : 'Presto 2.6.22'
      LayoutEngineNameVersionMajor         : 'Presto 2'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '72.0'
      AgentVersionMajor                    : '72'
      AgentNameVersion                     : 'Opera 72.0'
      AgentNameVersionMajor                : 'Opera 72'



- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (68K) AppleWebKit/560.0 (KHTML, live Gecko) Chrome/0.0338.706 Safari/560'
    expected:
      DeviceClass                          : 'Unknown'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Unknown'
      OperatingSystemName                  : 'Unknown'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Unknown ??'
      OperatingSystemNameVersionMajor      : 'Unknown ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '560.0'
      LayoutEngineVersionMajor             : '560'
      LayoutEngineNameVersion              : 'AppleWebKit 560.0'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 560'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '0.0338.706'
      AgentVersionMajor                    : '0'
      AgentNameVersion                     : 'Chrome 0.0338.706'
      AgentNameVersionMajor                : 'Chrome 0'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (68K) AppleWebKit/560.0 (KHTML, live Gecko) Chrome/17.0826.805 Safari/560'
    expected:
      DeviceClass                          : 'Unknown'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Unknown'
      OperatingSystemName                  : 'Unknown'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Unknown ??'
      OperatingSystemNameVersionMajor      : 'Unknown ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '560.0'
      LayoutEngineVersionMajor             : '560'
      LayoutEngineNameVersion              : 'AppleWebKit 560.0'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 560'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '17.0826.805'
      AgentVersionMajor                    : '17'
      AgentNameVersion                     : 'Chrome 17.0826.805'
      AgentNameVersionMajor                : 'Chrome 17'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (PPC) AppleWebKit/501.0 (KHTML, live Gecko) Chrome/18.01032.338 Safari/501'
    expected:
      DeviceClass                          : 'Unknown'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'PowerPC'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Unknown'
      OperatingSystemName                  : 'Unknown'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Unknown ??'
      OperatingSystemNameVersionMajor      : 'Unknown ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'AppleWebKit'
      LayoutEngineVersion                  : '501.0'
      LayoutEngineVersionMajor             : '501'
      LayoutEngineNameVersion              : 'AppleWebKit 501.0'
      LayoutEngineNameVersionMajor         : 'AppleWebKit 501'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '18.01032.338'
      AgentVersionMajor                    : '18'
      AgentNameVersion                     : 'Chrome 18.01032.338'
      AgentNameVersionMajor                : 'Chrome 18'


- test:
    input:
      User-Agent                           : 'AmigaVoyager/2.95 (compatible; MC680x0; AmigaOS; SV1)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Amiga'
      DeviceBrand                          : 'Amiga'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AmigaOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'AmigaOS ??'
      OperatingSystemNameVersionMajor      : 'AmigaOS ??'
      LayoutEngineClass                    : 'Unknown'
      LayoutEngineName                     : 'Unknown'
      LayoutEngineVersion                  : '??'
      LayoutEngineVersionMajor             : '??'
      LayoutEngineNameVersion              : 'Unknown ??'
      LayoutEngineNameVersionMajor         : 'Unknown ??'
      AgentClass                           : 'Browser'
      AgentName                            : 'AmigaVoyager'
      AgentVersion                         : '2.95'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'AmigaVoyager 2.95'
      AgentNameVersionMajor                : 'AmigaVoyager 2'


- test:
    input:
      User-Agent                           : 'AmigaVoyager/2.95 (compatible; MC680x0; AmigaOS)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Amiga'
      DeviceBrand                          : 'Amiga'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AmigaOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'AmigaOS ??'
      OperatingSystemNameVersionMajor      : 'AmigaOS ??'
      LayoutEngineClass                    : 'Unknown'
      LayoutEngineName                     : 'Unknown'
      LayoutEngineVersion                  : '??'
      LayoutEngineVersionMajor             : '??'
      LayoutEngineNameVersion              : 'Unknown ??'
      LayoutEngineNameVersionMajor         : 'Unknown ??'
      AgentClass                           : 'Browser'
      AgentName                            : 'AmigaVoyager'
      AgentVersion                         : '2.95'
      AgentVersionMajor                    : '2'
      AgentNameVersion                     : 'AmigaVoyager 2.95'
      AgentNameVersionMajor                : 'AmigaVoyager 2'


- test:
    input:
      User-Agent                           : 'AmigaVoyager/3.2 (AmigaOS/MC680x0)'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Amiga'
      DeviceBrand                          : 'Amiga'
      DeviceCpu                            : 'Motorola 68000'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'AmigaOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'AmigaOS ??'
      OperatingSystemNameVersionMajor      : 'AmigaOS ??'
      LayoutEngineClass                    : 'Unknown'
      LayoutEngineName                     : 'Unknown'
      LayoutEngineVersion                  : '??'
      LayoutEngineVersionMajor             : '??'
      LayoutEngineNameVersion              : 'Unknown ??'
      LayoutEngineNameVersionMajor         : 'Unknown ??'
      AgentClass                           : 'Browser'
      AgentName                            : 'AmigaVoyager'
      AgentVersion                         : '3.2'
      AgentVersionMajor                    : '3'
      AgentNameVersion                     : 'AmigaVoyager 3.2'
      AgentNameVersionMajor                : 'AmigaVoyager 3'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Unknown; OS/2 i386) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'OS/2 Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel i386'
      DeviceCpuBits                        : '32'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'OS/2'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'OS/2 ??'
      OperatingSystemNameVersionMajor      : 'OS/2 ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '83.0'
      LayoutEngineVersionMajor             : '83'
      LayoutEngineNameVersion              : 'Blink 83.0'
      LayoutEngineNameVersionMajor         : 'Blink 83'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '83.0.4103.122'
      AgentVersionMajor                    : '83'
      AgentNameVersion                     : 'Chrome 83.0.4103.122'
      AgentNameVersionMajor                : 'Chrome 83'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; HP-UX 9000/785; es-ES; rv:1.0.1) Gecko/20020827 Netscape/7.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'HP UX 9000/785'
      DeviceBrand                          : 'HP'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'HP-UX'
      OperatingSystemVersion               : '785'
      OperatingSystemVersionMajor          : '785'
      OperatingSystemNameVersion           : 'HP-UX 785'
      OperatingSystemNameVersionMajor      : 'HP-UX 785'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.0.1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.0.1'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20020827'
      AgentClass                           : 'Browser'
      AgentName                            : 'Netscape'
      AgentVersion                         : '7.0'
      AgentVersionMajor                    : '7'
      AgentNameVersion                     : 'Netscape 7.0'
      AgentNameVersionMajor                : 'Netscape 7'
      AgentLanguage                        : 'Spanish (Spain)'
      AgentLanguageCode                    : 'es-es'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; IRIX64 IP35; en-US; rv:1.4.3) Gecko/20040909'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Silicon Graphics Desktop'
      DeviceBrand                          : 'Silicon Graphics'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'IRIX'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'IRIX ??'
      OperatingSystemNameVersionMajor      : 'IRIX ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.4.3'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.4.3'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20040909'
      AgentClass                           : 'Browser'
      AgentName                            : 'Gecko'
      AgentVersion                         : '1.4.3'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Gecko 1.4.3'
      AgentNameVersionMajor                : 'Gecko 1'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (X11; U; SunOS5.10 sun4u; ja-JP; rv:1.5) Gecko/20031022'
    expected:
      DeviceClass                          : 'Unknown'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Unknown' #FIXME: Missing space in the OS tag breaks this detection.
      OperatingSystemName                  : 'Unknown'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Unknown ??'
      OperatingSystemNameVersionMajor      : 'Unknown ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.5'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.5'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20031022'
      AgentClass                           : 'Browser'
      AgentName                            : 'Gecko'
      AgentVersion                         : '1.5'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Gecko 1.5'
      AgentNameVersionMajor                : 'Gecko 1'
      AgentLanguage                        : 'Japanese (Japan)'
      AgentLanguageCode                    : 'ja-jp'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 BeOS; U; BeOS BePC; en-US; rv:1.8.1b2 Gecko/20060728 Opera 58.0'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Beos/Haiku Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'BeOS/Haiku'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'BeOS/Haiku ??'
      OperatingSystemNameVersionMajor      : 'BeOS/Haiku ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Presto 1'
      LayoutEngineNameVersionMajor         : 'Presto 1'
      LayoutEngineBuild                    : '20060728'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '58.0'
      AgentVersionMajor                    : '58'
      AgentNameVersion                     : 'Opera 58.0'
      AgentNameVersionMajor                : 'Opera 58'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20060702 SeaMonkey/1.5a'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Beos/Haiku Desktop'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'BeOS/Haiku'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'BeOS/Haiku ??'
      OperatingSystemNameVersionMajor      : 'BeOS/Haiku ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '1.9a1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Gecko 1.9a1'
      LayoutEngineNameVersionMajor         : 'Gecko 1'
      LayoutEngineBuild                    : '20060702'
      AgentClass                           : 'Browser'
      AgentName                            : 'SeaMonkey'
      AgentVersion                         : '1.5a'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'SeaMonkey 1.5a'
      AgentNameVersionMajor                : 'SeaMonkey 1'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'
      AgentSecurity                        : 'Strong security'


- test:
    input:
      User-Agent                           : 'Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 6600;452) Opera 6.20 [en-US]'
    expected:
      DeviceClass                          : 'Phone'
      DeviceName                           : 'Nokia 6600'
      DeviceBrand                          : 'Nokia'
      OperatingSystemClass                 : 'Mobile'
      OperatingSystemName                  : 'SymbianOS'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'SymbianOS ??'
      OperatingSystemNameVersionMajor      : 'SymbianOS ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Presto'
      LayoutEngineVersion                  : '1'
      LayoutEngineVersionMajor             : '1'
      LayoutEngineNameVersion              : 'Presto 1'
      LayoutEngineNameVersionMajor         : 'Presto 1'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '6.20'
      AgentVersionMajor                    : '6'
      AgentNameVersion                     : 'Opera 6.20'
      AgentNameVersionMajor                : 'Opera 6'
      AgentLanguage                        : 'English (United States)'
      AgentLanguageCode                    : 'en-us'




© 2015 - 2025 Weber Informatics LLC | Privacy Policy