From 66bb3bd87434428e9ff1cf49971d6cb4b256996c Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Wed, 25 Jun 2014 13:53:30 +0700 Subject: [PATCH] Some fixes here and there --- src/ua-parser.js | 16 +++++++--------- src/ua-parser.min.js | 2 +- test/browser-test.json | 4 ++-- test/device-test.json | 2 +- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 7d8aaca..d7081ec 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -290,7 +290,7 @@ /(coremedia) v((\d+)[\w\._]+)/i ], [NAME, VERSION, MAJOR], [ - /(aqualung|lyssna|bsplayer)\/([\w\.-]+)/i // Aqualung/Lyssna/BSPlayer + /(aqualung|lyssna|bsplayer)\/((\d+)?[\w\.-]+)/i // Aqualung/Lyssna/BSPlayer ], [NAME, VERSION], [ /(ares|ossproxy)\s((\d+)[\w\.-]+)/i // Ares/OSSProxy @@ -306,7 +306,7 @@ /(nexplayer)\s((\d+)[\w\.-]+)/i // Nexplayer ], [NAME, VERSION, MAJOR], [ - /(flrp)\/((\d+)[\w\.-]+)/i // Flip Player + /(flrp)\/((\d+)[\w\.-]+)/i // Flip Player ], [[NAME, 'Flip Player'], VERSION, MAJOR], [ /(fstream|nativehost|queryseekspider|ia-archiver|facebookexternalhit)/i @@ -330,8 +330,7 @@ // MPlayer SVN ], [NAME, VERSION], [ - /(mplayer)(?:\s|\/)((\d+)[\w\.-]+)/i, // MPlayer - /(mplayer) unknown-((\d+)[\w\.\-]+)/i // MPlayer UNKNOWN + /(mplayer)(?:\s|\/|[unkow-]+)((\d+)[\w\.-]+)/i, // MPlayer ], [NAME, VERSION, MAJOR], [ /(mplayer)/i, // MPlayer (no other info) @@ -493,17 +492,16 @@ /android\s3\.[\s\w-;]{10}((a\d{3}))/i // Acer ], [[VENDOR, 'Acer'], MODEL, [TYPE, TABLET]], [ - /android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i // LG + /android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [ - /((nexus\s[45]))/i, + /(lg) netcast\.tv/i // LG SmartTV + ], [VENDOR, [TYPE, SMARTTV]], [ + /((nexus\s[45]))/i, // LG /(lg)[e;\s-\/]+(\w+)*/i ], [[VENDOR, 'LG'], MODEL, [TYPE, MOBILE]], [ /android.+((ideatab[a-z0-9\-\s]+))/i // Lenovo ], [[VENDOR, 'Lenovo'], MODEL, [TYPE, TABLET]], [ - - /(lg) netcast\.tv/i // LG SmartTV - ], [VENDOR, [TYPE, SMARTTV]], [ /(mobile|tablet);.+rv\:.+gecko\//i // Unidentifiable ], [TYPE, VENDOR, MODEL] diff --git a/src/ua-parser.min.js b/src/ua-parser.min.js index 9452960..cea6483 100644 --- a/src/ua-parser.min.js +++ b/src/ua-parser.min.js @@ -1 +1 @@ -(function(window,undefined){"use strict";var EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv";var util={has:function(str1,str2){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1},lowerize:function(str){return str.toLowerCase()}};var mapper={rgx:function(){for(var result,i=0,j,k,p,q,matches,match,args=arguments;i0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){result[q[0]]=q[1].call(this,match)}else{result[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{result[q]=match?match:undefined}}break}}if(!!matches)break}return result},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){result[q[0]]=q[1].call(this,match)}else{result[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{result[q]=match?match:undefined}}break}}if(!!matches)break}return result},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j