From 194c332f9f90c6fc0b15d57e79284f75df5a7792 Mon Sep 17 00:00:00 2001 From: fscherwi Date: Thu, 4 Oct 2018 08:07:27 +0200 Subject: [PATCH] refactor --- main.js | 30 ++---------------------------- main.test.js | 8 ++++++++ package-lock.json | 2 +- package.json | 5 +++-- sysInfo.js | 31 +++++++++++++++++++++++++++++++ 5 files changed, 45 insertions(+), 31 deletions(-) create mode 100644 sysInfo.js diff --git a/main.js b/main.js index 825b0dc..74eb80f 100644 --- a/main.js +++ b/main.js @@ -1,34 +1,8 @@ -function getsysInfo(sysInfo) { /* istanbul ignore next */ +function getsysInfo(sysInfo) { if (sysInfo) { return sysInfo; } else { - var os = require("os"); - switch (os.platform()) { - case "darwin": - return "Macintosh; Intel Mac OS X " + require("get-osx-version").get(); - case "windows": - switch (os.arch()) { - case "x64": - return "Windows; Win64; x64"; - case "x86": - return "Windows; Win32; x86"; - case "arm": - return "Windows; ARM"; - default: - return "Windows"; - } - case "linux": - switch (os.arch()) { - case "x64": - return "Linux; x86_64"; - case "i686": - return "Linux; i686"; - case "arm": - return "Linux; ARM"; - default: - return "Linux"; - } - } + return require("./sysInfo").get(); } } module.exports = { diff --git a/main.test.js b/main.test.js index d01abf7..a16e1fa 100644 --- a/main.test.js +++ b/main.test.js @@ -63,3 +63,11 @@ test('Safari Advanced', () => { expect(ua.browser.name).toBe('Safari'); expect(ua.browser.version).toBe(version); }); + +test('sysInfo', () => { + var version = '41.0'; + var sysInfo = 'Macintosh; Intel Mac OS X 10.11'; + ua = parser(useragent.firefox(version, sysInfo)); + expect(ua.browser.name).toBe('Firefox'); + expect(ua.browser.version).toBe(version); +}); diff --git a/package-lock.json b/package-lock.json index 96d0819..41cc230 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "get-user-agent", - "version": "3.0.0", + "version": "3.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 88458ab..c8cb05c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "get-user-agent", - "version": "3.0.0", + "version": "3.1.0", "description": "easily get a useragent", "main": "main.js", "scripts": { @@ -36,6 +36,7 @@ "files": [ "README.md", "LICENSE", - "main.js" + "main.js", + "sysInfo.js" ] } diff --git a/sysInfo.js b/sysInfo.js new file mode 100644 index 0000000..8440c43 --- /dev/null +++ b/sysInfo.js @@ -0,0 +1,31 @@ +module.exports = { + get: function get() { + var os = require("os"); + switch (os.platform()) { + case "darwin": + return "Macintosh; Intel Mac OS X " + require("get-osx-version").get(); + case "windows": + switch (os.arch()) { + case "x64": + return "Windows; Win64; x64"; + case "x86": + return "Windows; Win32; x86"; + case "arm": + return "Windows; ARM"; + default: + return "Windows"; + } + case "linux": + switch (os.arch()) { + case "x64": + return "Linux; x86_64"; + case "i686": + return "Linux; i686"; + case "arm": + return "Linux; ARM"; + default: + return "Linux"; + } + } + } +};