Add tests for os detection from filename

This commit is contained in:
Nemo 2021-07-16 12:00:07 +05:30
parent 867217c5a8
commit 37a37d40d1
2 changed files with 29 additions and 2 deletions

6
os.js
View File

@ -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;
},

25
tests/os.js Normal file
View File

@ -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'))
});