diff --git a/user_agents/parsers.py b/user_agents/parsers.py index 3d1a3ae..2ccd4a6 100644 --- a/user_agents/parsers.py +++ b/user_agents/parsers.py @@ -84,13 +84,13 @@ def parse_version(major=None, minor=None, patch=None, patch_minor=None): patch = int(patch) if patch.isdigit() else patch if patch_minor is not None and isinstance(patch_minor, string_types): patch_minor = int(patch_minor) if patch_minor.isdigit() else patch_minor - if patch_minor: + if patch_minor or patch_minor == 0: return (major, minor, patch, patch_minor) - elif patch: + elif patch or patch == 0: return (major, minor, patch) - elif minor: + elif minor or minor == 0: return (major, minor) - elif major: + elif major or major == 0: return (major,) else: return tuple() diff --git a/user_agents/tests.py b/user_agents/tests.py index 5022325..8b25a3c 100644 --- a/user_agents/tests.py +++ b/user_agents/tests.py @@ -191,20 +191,20 @@ def test_strings(self): self.assertEqual(str(kindle_fire_ua), "Kindle / Android / Amazon Silk 1.1.0-80") self.assertEqual(str(playbook_ua), "BlackBerry Playbook / BlackBerry Tablet OS 2.0.1 / BlackBerry WebKit 2.0.1") self.assertEqual(str(nexus_7_ua), "Asus Nexus 7 / Android 4.1.1 / Chrome 18.0.1025") - self.assertEqual(str(windows_phone_ua), "Samsung SGH-i917 / Windows Phone 7.5 / IE Mobile 9") - self.assertEqual(str(windows_rt_ua), "PC / Windows RT / IE 10") - self.assertEqual(str(blackberry_torch_ua), "BlackBerry 9800 / BlackBerry OS 6 / BlackBerry WebKit 6") - self.assertEqual(str(blackberry_bold_ua), "BlackBerry 9700 / BlackBerry OS 5 / BlackBerry 9700") - self.assertEqual(str(blackberry_bold_touch_ua), "BlackBerry 9930 / BlackBerry OS 7 / BlackBerry WebKit 7") + self.assertEqual(str(windows_phone_ua), "Samsung SGH-i917 / Windows Phone 7.5 / IE Mobile 9.0") + self.assertEqual(str(windows_rt_ua), "PC / Windows RT / IE 10.0") + self.assertEqual(str(blackberry_torch_ua), "BlackBerry 9800 / BlackBerry OS 6.0.0 / BlackBerry WebKit 6.0.0") + self.assertEqual(str(blackberry_bold_ua), "BlackBerry 9700 / BlackBerry OS 5.0.0 / BlackBerry 9700") + self.assertEqual(str(blackberry_bold_touch_ua), "BlackBerry 9930 / BlackBerry OS 7.0.0 / BlackBerry WebKit 7.0.0") self.assertEqual(str(j2me_opera_ua), "Generic Feature Phone / Other / Opera Mini 9.80") - self.assertEqual(str(ie_ua), "PC / Windows 8 / IE 10") - self.assertEqual(str(ie_touch_ua), "PC / Windows 8 / IE 10") + self.assertEqual(str(ie_ua), "PC / Windows 8 / IE 10.0") + self.assertEqual(str(ie_touch_ua), "PC / Windows 8 / IE 10.0") self.assertEqual(str(mac_safari_ua), "PC / Mac OS X 10.6.8 / WebKit Nightly 537.13") - self.assertEqual(str(windows_ie_ua), "PC / Windows 7 / IE 9") + self.assertEqual(str(windows_ie_ua), "PC / Windows 7 / IE 9.0") self.assertEqual(str(ubuntu_firefox_ua), "PC / Ubuntu / Firefox 15.0.1") self.assertEqual(str(google_bot_ua), "Spider / Other / Googlebot 2.1") self.assertEqual(str(nokia_n97_ua), "Nokia N97 / Symbian OS 9.4 / Nokia Browser 7.1.12344") - self.assertEqual(str(android_firefox_aurora_ua), "Generic Smartphone / Android / Firefox Mobile 27") + self.assertEqual(str(android_firefox_aurora_ua), "Generic Smartphone / Android / Firefox Mobile 27.0") def test_unicode_strings(self): try: