Example #1
0
 def test_apple(self):
     self.assertEqual(
         "Safari on iPad",
         device(
             "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; ja-jp) "
             "AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 "
             "Mobile/8C148 Safari/6533.18.5"
         ),
     )
     self.assertEqual(
         "Safari on iPhone",
         device(
             "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) "
             "AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 "
             "Mobile/11A465 Safari/9537.53"
         ),
     )
     self.assertEqual(
         "Safari on OS X",
         device(
             "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) "
             "AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 "
             "Safari/536.26.17"
         ),
     )
Example #2
0
 def test_ie(self):
     self.assertEqual(
         'Internet Explorer on Windows XP',
         device('Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.1; SV1; '
                '.NET CLR 2.0.50727)')
     )
     self.assertEqual(
         'Internet Explorer on Windows Vista',
         device('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; '
                'Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322;'
                ' InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; '
                'MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3;'
                ' .NET CLR 3.0.30729)')
     )
     self.assertEqual(
         'Internet Explorer on Windows 7',
         device('Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; '
                'Trident/6.0)')
     )
     self.assertEqual(
         'Internet Explorer on Windows 8',
         device('Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; '
                'Win64; x64; Trident/6.0)')
     )
     self.assertEqual(
         'Internet Explorer on Windows 8.1',
         device('Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; '
                '.NET4.0E; .NET4.0C; rv:11.0) like Gecko')
     )
Example #3
0
 def test_ie(self):
     self.assertEqual(
         "Internet Explorer on Windows XP",
         device("Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.1; SV1; " ".NET CLR 2.0.50727)"),
     )
     self.assertEqual(
         "Internet Explorer on Windows Vista",
         device(
             "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; "
             "Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322;"
             " InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; "
             "MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3;"
             " .NET CLR 3.0.30729)"
         ),
     )
     self.assertEqual(
         "Internet Explorer on Windows 7",
         device("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; " "Trident/6.0)"),
     )
     self.assertEqual(
         "Internet Explorer on Windows 8",
         device("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; " "Win64; x64; Trident/6.0)"),
     )
     self.assertEqual(
         "Internet Explorer on Windows 8.1",
         device("Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; " ".NET4.0E; .NET4.0C; rv:11.0) like Gecko"),
     )
Example #4
0
 def test_chrome(self):
     self.assertEqual(
         "Chrome on Windows 8.1",
         device(
             "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 ("
             "KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36"
         ),
     )
Example #5
0
 def test_android(self):
     # androids identify themselves as Safari to get the good stuff
     self.assertEqual(
         'Safari on Android',
         device('Mozilla/5.0 (Linux; U; Android 1.5; de-de; HTC Magic '
                'Build/CRB17) AppleWebKit/528.5+ (KHTML, like Gecko) '
                'Version/3.1.2 Mobile Safari/525.20.1')
     )
Example #6
0
 def test_apple(self):
     self.assertEqual(
         'Safari on iPad',
         device('Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; ja-jp) '
                'AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 '
                'Mobile/8C148 Safari/6533.18.5')
     )
     self.assertEqual(
         'Safari on iPhone',
         device('Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) '
                'AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 '
                'Mobile/11A465 Safari/9537.53')
     )
     self.assertEqual(
         'Safari on OS X',
         device('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) '
                'AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 '
                'Safari/536.26.17')
     )
Example #7
0
 def test_linux_only(self):
     self.assertEqual("Linux", device("Linux not a real browser/10.3"))
Example #8
0
 def test_chrome_only(self):
     self.assertEqual("Chrome", device("Not a legit OS Chrome/54.0.32"))
Example #9
0
 def test_safari_only(self):
     self.assertEqual("Safari", device("Not a legit OS Safari/5.2"))
Example #10
0
 def test_windows_only(self):
     self.assertEqual("Windows", device("Windows not a real browser/10.3"))
Example #11
0
 def test_firefox(self):
     self.assertEqual(
         "Firefox on Windows 7",
         device("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) " "Gecko/20130328 Firefox/22.0"),
     )
Example #12
0
 def test_windowsxp_only(self):
     self.assertEqual("Windows XP",
                      device("NT 5.1 not a real browser/10.3"))
Example #13
0
 def test_windows7_only(self):
     self.assertEqual("Windows 7", device("NT 6.1 not a real browser/10.3"))
Example #14
0
 def test_windowsvista_only(self):
     self.assertEqual("Windows Vista", device("NT 6.0 not a real browser/10.3"))
Example #15
0
 def test_windows7_only(self):
     self.assertEqual("Windows 7", device("NT 6.1 not a real browser/10.3"))
Example #16
0
 def test_iphone_only(self):
     self.assertEqual("iPhone", device("iPhone not a real browser/10.3"))
Example #17
0
 def test_windowsxp_only(self):
     self.assertEqual("Windows XP", device("NT 5.1 not a real browser/10.3"))
Example #18
0
 def test_ipad_only(self):
     self.assertEqual("iPad", device("iPad not a real browser/10.3"))
Example #19
0
 def test_linux_only(self):
     self.assertEqual("Linux", device("Linux not a real browser/10.3"))
Example #20
0
 def test_safari_only(self):
     self.assertEqual("Safari", device("Not a legit OS Safari/5.2"))
Example #21
0
 def test_ipad_only(self):
     self.assertEqual("iPad", device("iPad not a real browser/10.3"))
Example #22
0
 def test_windows81_only(self):
     self.assertEqual("Windows 8.1", device("NT 6.3 not a real browser/10.3"))
Example #23
0
 def test_iphone_only(self):
     self.assertEqual("iPhone", device("iPhone not a real browser/10.3"))
Example #24
0
 def get_device(self, obj):
     return device(obj.user_agent) if obj.user_agent else 'Unkown'
Example #25
0
 def test_windowsvista_only(self):
     self.assertEqual("Windows Vista",
                      device("NT 6.0 not a real browser/10.3"))
Example #26
0
 def get_device(self, obj):
     return device(obj.user_agent) if obj.user_agent else 'Unkown'
Example #27
0
 def test_windows81_only(self):
     self.assertEqual("Windows 8.1",
                      device("NT 6.3 not a real browser/10.3"))
Example #28
0
 def test_firefox(self):
     self.assertEqual(
         'Firefox on Windows 7',
         device('Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) '
                'Gecko/20130328 Firefox/22.0'))
Example #29
0
 def test_chrome(self):
     self.assertEqual(
         'Chrome on Windows 8.1',
         device('Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 ('
                'KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36'))
Example #30
0
 def device(self, obj):
     return device(obj.user_agent) if obj.user_agent else u''
Example #31
0
 def test_windows_only(self):
     self.assertEqual("Windows", device("Windows not a real browser/10.3"))
Example #32
0
 def test_firefox_only(self):
     self.assertEqual("Firefox", device("Not a legit OS Firefox/51.0"))
Example #33
0
 def test_firefox(self):
     self.assertEqual(
         'Firefox on Windows 7',
         device('Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) '
                'Gecko/20130328 Firefox/22.0')
     )
Example #34
0
 def device(self, obj):
     return device(obj.user_agent)
Example #35
0
 def device(self, obj):
     return device(obj.user_agent) if obj.user_agent else u''
Example #36
0
 def test_firefox_only(self):
     self.assertEqual("Firefox", device("Not a legit OS Firefox/51.0"))
Example #37
0
 def device(self, obj):
     return device(obj.user_agent)
Example #38
0
 def test_chrome_only(self):
     self.assertEqual("Chrome", device("Not a legit OS Chrome/54.0.32"))