From 37a37d40d18dabf607b2575997d079f7ac9e5c4a Mon Sep 17 00:00:00 2001 From: Nemo Date: Fri, 16 Jul 2021 12:00:07 +0530 Subject: [PATCH] Add tests for os detection from filename --- os.js | 6 ++++-- tests/os.js | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 tests/os.js diff --git a/os.js b/os.js index eaf78ac..14cd737 100644 --- a/os.js +++ b/os.js @@ -4,7 +4,7 @@ const path = require('path') module.exports = { guessFromFilename(inputFile) { - let fn = path.baseName(inputFile) + let fn = path.basename(inputFile) if (fn.match(/linux/)) { return 'linux' } else if (fn.match(/mac/)) { @@ -19,7 +19,9 @@ module.exports = { return 'darwin' } else if (ext.match('/exe/')) { return 'win32' - } + } else if (ext.match(/deb/) ||ext.match(/appimage/i) || ext.match(/pacman/)) { + return 'linux' + } } return null; }, diff --git a/tests/os.js b/tests/os.js new file mode 100644 index 0000000..ca75060 --- /dev/null +++ b/tests/os.js @@ -0,0 +1,25 @@ +const test = require('kuta').test; +const os = require('../os') +const assert = require('assert') + +test('it should linux correctly from filename', ()=> { + assert.deepEqual('linux', os.guessFromFilename('kube-dev-dashboard-0.10.1-linux.zip')) + assert.deepEqual('linux', os.guessFromFilename('magiccap-linux.zip')) + assert.deepEqual('linux', os.guessFromFilename('Rambox-0.7.7-linux-ia32.zip')) + assert.deepEqual('linux', os.guessFromFilename('authme-2.6.0-linux-x64-portable.zip')) + assert.deepEqual('linux', os.guessFromFilename('mojibar-linux.zip')) + assert.deepEqual('linux', os.guessFromFilename('mojibar-linux.deb')) + assert.deepEqual('linux', os.guessFromFilename('mojibar.AppImage')) + assert.deepEqual('linux', os.guessFromFilename('mojibar.pacman')) +}); + +test('it should darwin correctly from filename', ()=> { + assert.deepEqual('darwin', os.guessFromFilename('Merge-Request-Notifier-1.9.0-mac.zip')) + assert.deepEqual('darwin', os.guessFromFilename('Merge-Request-Notifier-1.9.0.dmg')) +}); + +test('it should windows correctly from filename', ()=> { + assert.deepEqual('win32', os.guessFromFilename('particl-desktop-2.3.6-win-ia32.zip')) + assert.deepEqual('win32', os.guessFromFilename('Multrin-1.3.0-ia32-win.zip')) + assert.deepEqual('win32', os.guessFromFilename('Multrin-1.3.0-ia32-win.exe')) +});