From f89fc31634a3ab10ddd08703f3d99aa703333fbb Mon Sep 17 00:00:00 2001 From: Kevin You Date: Fri, 24 Mar 2023 00:21:45 -0500 Subject: [PATCH] Re-apply change from adbac2be284234b0cf8ff22e17b2ecec2036a8b8 feat: read detail model for iphone, ipod, ipad if the model information exist --- src/ua-parser.js | 8 ++++++++ test/device-test.json | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 2f520a4..6918849 100755 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -459,6 +459,14 @@ [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [ // Apple + /((ipod|iphone)\d+,\d+)/i // iPod/iPhone model + ], + [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], + [ + /(ipad\d+,\d+)/i // iPad model + ], + [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], + [ /\((ip(?:hone|od)[\w ]*);/i // iPod/iPhone ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], diff --git a/test/device-test.json b/test/device-test.json index 33bfd17..34454c2 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -768,7 +768,7 @@ "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3", "expect": { "vendor": "Apple", - "model": "iPad", + "model": "iPad5,3", "type": "tablet" } }, @@ -777,7 +777,7 @@ "ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]", "expect": { "vendor": "Apple", - "model": "iPad", + "model": "iPad4,1", "type": "tablet" } }, @@ -786,7 +786,7 @@ "ua": "Mozilla/5.0 (iPad; CPU OS 14_4_2 like Mac OS X) WebKit/8610 (KHTML, like Gecko) Mobile/18D70 [FBAN/FBIOS;FBDV/iPad7,11;FBMD/iPad;FBSN/iOS;FBSV/14.4.2;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5]", "expect": { "vendor": "Apple", - "model": "iPad", + "model": "iPad7,11", "type": "tablet" } }, @@ -1076,7 +1076,7 @@ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]", "expect": { "vendor": "Apple", - "model": "iPhone", + "model": "iPhone8,4", "type": "mobile" } }, @@ -1085,7 +1085,7 @@ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]", "expect": { "vendor": "Apple", - "model": "iPhone", + "model": "iPhone8,4", "type": "mobile" } }, @@ -1094,7 +1094,7 @@ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone12,5;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]", "expect": { "vendor": "Apple", - "model": "iPhone", + "model": "iPhone12,5", "type": "mobile" } }, @@ -1103,7 +1103,7 @@ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone11,2;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]", "expect": { "vendor": "Apple", - "model": "iPhone", + "model": "iPhone11,2", "type": "mobile" } }, @@ -2927,7 +2927,9 @@ "desc": "FaceBook Mobile App", "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]", "expect": { - "type": "mobile" + "type": "mobile", + "model": "iPhone12,1", + "vendor": "Apple" } }, {