Adds tests for os file list guesser
This commit is contained in:
parent
50de21a2de
commit
6ae7264c73
|
@ -0,0 +1,9 @@
|
|||
const path = require("path");
|
||||
const zip = require("../zip");
|
||||
const fs = require('fs')
|
||||
|
||||
const FILENAME = process.argv[2];
|
||||
|
||||
zip.listFileContents(FILENAME, (entries)=> {
|
||||
fs.writeFileSync(`./tests/fixtures/${path.basename(FILENAME)}.json`, JSON.stringify(entries))
|
||||
});
|
4
index.js
4
index.js
|
@ -33,7 +33,9 @@ zip.listFileContents(FILENAME, (entries)=> {
|
|||
try {
|
||||
let packageData = JSON.parse(c)
|
||||
console.log(packageData['version'])
|
||||
}catch(e){}
|
||||
}catch(e){
|
||||
// TODO: Do something
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,48 +1,44 @@
|
|||
const test = require("kuta").test;
|
||||
const finder = require("../finder");
|
||||
const assert = require("assert");
|
||||
const fs = require("fs");
|
||||
|
||||
function getEntries(fn) {
|
||||
return JSON.parse(fs.readFileSync(`./tests/fixtures/${fn}.json`));
|
||||
}
|
||||
const _ = require('./utils')
|
||||
|
||||
test("it should find the electron.asar file", () => {
|
||||
assert.deepEqual(
|
||||
["Hyper.app/Contents/Resources/electron.asar"],
|
||||
finder.asar(getEntries("Hyper-3.0.2-mac.zip"))
|
||||
finder.asar(_.getEntries("Hyper-3.0.2-mac.zip"))
|
||||
);
|
||||
});
|
||||
|
||||
test("it should find the correct binary file", () => {
|
||||
assert.deepEqual(
|
||||
"Hyper.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework",
|
||||
finder.binary(getEntries("Hyper-3.0.2-mac.zip"))
|
||||
finder.binary(_.getEntries("Hyper-3.0.2-mac.zip"))
|
||||
);
|
||||
assert.deepEqual(
|
||||
"Notable.exe",
|
||||
finder.binary(getEntries("Notable-1.8.4-win.zip"))
|
||||
finder.binary(_.getEntries("Notable-1.8.4-win.zip"))
|
||||
);
|
||||
assert.deepEqual(
|
||||
"rambox",
|
||||
finder.binary(getEntries("Rambox-0.7.7-linux-x64.zip"))
|
||||
finder.binary(_.getEntries("Rambox-0.7.7-linux-x64.zip"))
|
||||
);
|
||||
});
|
||||
|
||||
test("it should find the version file", () => {
|
||||
assert.deepEqual(
|
||||
["chronobreak-linux-x64/version"],
|
||||
finder.version(getEntries("chronobreak-linux-x64.zip"))
|
||||
finder.version(_.getEntries("chronobreak-linux-x64.zip"))
|
||||
);
|
||||
assert.deepEqual(
|
||||
["release-builds/encrypt0r-darwin-x64/version"],
|
||||
finder.version(getEntries("encrypt0r-mac.zip"))
|
||||
finder.version(_.getEntries("encrypt0r-mac.zip"))
|
||||
);
|
||||
assert.deepEqual(
|
||||
[
|
||||
"Arizona v.1.0.0/resources/app/node_modules/electron/dist/version",
|
||||
"Arizona v.1.0.0/version",
|
||||
],
|
||||
finder.version(getEntries("Arizona-v1.0.0-beta-Windows.zip"))
|
||||
finder.version(_.getEntries("Arizona-v1.0.0-beta-Windows.zip"))
|
||||
);
|
||||
});
|
||||
|
|
File diff suppressed because one or more lines are too long
11
tests/os.js
11
tests/os.js
|
@ -1,6 +1,7 @@
|
|||
const test = require('kuta').test;
|
||||
const os = require('../os')
|
||||
const assert = require('assert')
|
||||
const _ = require('./utils')
|
||||
|
||||
test('it should linux correctly from filename', ()=> {
|
||||
assert.deepEqual('linux', os.guessFromFilename('kube-dev-dashboard-0.10.1-linux.zip'))
|
||||
|
@ -23,3 +24,13 @@ test('it should windows correctly from filename', ()=> {
|
|||
assert.deepEqual('win32', os.guessFromFilename('Multrin-1.3.0-ia32-win.zip'))
|
||||
assert.deepEqual('win32', os.guessFromFilename('Multrin-1.3.0-ia32-win.exe'))
|
||||
});
|
||||
|
||||
test('it should guess correctly from file list', ()=> {
|
||||
assert.deepEqual('win32', os.guessFromContents(_.getEntries('Arizona-v1.0.0-beta-Windows.zip')));
|
||||
assert.deepEqual('win32', os.guessFromContents(_.getEntries('Notable-1.8.4-win.zip')));
|
||||
assert.deepEqual('darwin', os.guessFromContents(_.getEntries('encrypt0r-mac.zip')));
|
||||
assert.deepEqual('darwin', os.guessFromContents(_.getEntries('Hyper-3.0.2-mac.zip')));
|
||||
assert.deepEqual('linux', os.guessFromContents(_.getEntries('chronobreak-linux-x64.zip')));
|
||||
assert.deepEqual('linux', os.guessFromContents(_.getEntries('Rambox-0.7.7-linux-x64.zip')));
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
const fs = require("fs");
|
||||
entries = {};
|
||||
|
||||
module.exports = {
|
||||
getEntries: function(f) {
|
||||
if (entries[f]) {
|
||||
return entries[f];
|
||||
} else {
|
||||
return (entries[f] = JSON.parse(
|
||||
fs.readFileSync(`./tests/fixtures/${f}.json`)
|
||||
));
|
||||
}
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue