New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

browser-info

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

browser-info - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0

32

index.js

@@ -11,4 +11,5 @@ /* globals navigator*/

var match = ua.match(/(opera|chrome|safari|firefox|edge|trident(?=\/))\/?\s*(\d+)/i) || [];
var match = ua.match(/(opera|chrome|safari|firefox|edge|trident(?=\/))\/?\s*?(\d+)/i) || [];
if (ua.indexOf('Win') !== -1) {

@@ -27,3 +28,3 @@ os = 'Windows';

if (ua.indexOf('Android') !== -1) {
os = 'Android';
os = 'Android';
}

@@ -34,5 +35,14 @@ if (/iPad|iPhone|iPod/.test(ua)) {

if (ua.indexOf('Windows Phone') !== -1) {
os = 'Windows Phone';
os = 'Windows Phone';
}
tem = ua.match(/\bIEMobile\/(\d+)/);
if (tem !== null) {
return {
name: 'IEMobile',
version: (tem[1]||''),
os: os
};
}
if (/trident/i.test(match[1])) {

@@ -46,10 +56,3 @@ tem = /\brv[ :]+(\d+)/g.exec(ua) || [];

}
if (match[1] === 'MSIE') {
tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
return {
name: 'IEMobile',
version: (tem[1]||''),
os: os
};
}
if (match[1] === 'Chrome') {

@@ -75,4 +78,7 @@ tem = ua.match(/\bOPR\/(\d+)/);

match = match[2]? [match[1], match[2]]: [navigator.appName, navigator.appVersion, '-?'];
if ((tem = ua.match(/version\/(\d+)/i)) !== null) {
match.splice(1, 1, tem[1]);
if (match[0] !== 'Chrome') {
var tem = ua.match(/version\/(\d+)/i)
if (tem !== null && tem !== '') {
match.splice(1, 1, tem[1]);
}
}

@@ -79,0 +85,0 @@ return {

{
"name": "browser-info",
"version": "0.4.0",
"version": "0.5.0",
"description": "Get browser info",

@@ -5,0 +5,0 @@ "author": "Steve Lacy <me@slacy.me> (http://slacy.me)",

@@ -9,3 +9,3 @@ 'use strict';

it('should return info', function(done) {
GLOBAL.navigator = {
global.navigator = {
userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.68 Safari/537.36',

@@ -21,14 +21,18 @@ };

it('should detect Android', function(done) {
GLOBAL.navigator = {
userAgent: 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36'
};
should(info().os).equal('Android');
done();
global.navigator = {
userAgent: 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36'
};
should(info().os).equal('Android');
should(info().name).equal('Chrome');
should(info().version).equal('48');
done();
});
it('should detect iOS', function(done) {
GLOBAL.navigator = {
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
global.navigator = {
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
};
should(info().os).equal('iOS');
should(info().name).equal('Safari');
should(info().version).equal('9');
done();

@@ -38,28 +42,41 @@ });

it('should detect Edge', function(done) {
GLOBAL.navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/13'
};
global.navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/13'
};
should(info().name).equal('Edge');
done();
should(info().os).equal('Windows');
should(info().name).equal('Edge');
should(info().version).equal('13');
done();
});
it('should detect IE mobile', function(done) {
GLOBAL.navigator = {
userAgent: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)'
};
global.navigator = {
userAgent: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)'
};
should(info().os).equal('Windows Phone');
should(info().name).equal('IE');
done();
should(info().os).equal('Windows Phone');
should(info().name).equal('IEMobile');
should(info().version).equal('9');
done();
});
it('should detect IE', function(done) {
GLOBAL.navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'
};
global.navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'
};
should(info().name).equal('IE');
done();
should(info().name).equal('IE');
done();
});
it('should detect edge cases', function(done) {
global.navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10'
};
should(info().name).equal('Chrome');
should(info().version).equal('34');
done();
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc