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 {
|
try {
|
||||||
let packageData = JSON.parse(c)
|
let packageData = JSON.parse(c)
|
||||||
console.log(packageData['version'])
|
console.log(packageData['version'])
|
||||||
}catch(e){}
|
}catch(e){
|
||||||
|
// TODO: Do something
|
||||||
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,48 +1,44 @@
|
||||||
const test = require("kuta").test;
|
const test = require("kuta").test;
|
||||||
const finder = require("../finder");
|
const finder = require("../finder");
|
||||||
const assert = require("assert");
|
const assert = require("assert");
|
||||||
const fs = require("fs");
|
const _ = require('./utils')
|
||||||
|
|
||||||
function getEntries(fn) {
|
|
||||||
return JSON.parse(fs.readFileSync(`./tests/fixtures/${fn}.json`));
|
|
||||||
}
|
|
||||||
|
|
||||||
test("it should find the electron.asar file", () => {
|
test("it should find the electron.asar file", () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
["Hyper.app/Contents/Resources/electron.asar"],
|
["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", () => {
|
test("it should find the correct binary file", () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
"Hyper.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework",
|
"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(
|
assert.deepEqual(
|
||||||
"Notable.exe",
|
"Notable.exe",
|
||||||
finder.binary(getEntries("Notable-1.8.4-win.zip"))
|
finder.binary(_.getEntries("Notable-1.8.4-win.zip"))
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
"rambox",
|
"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", () => {
|
test("it should find the version file", () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
["chronobreak-linux-x64/version"],
|
["chronobreak-linux-x64/version"],
|
||||||
finder.version(getEntries("chronobreak-linux-x64.zip"))
|
finder.version(_.getEntries("chronobreak-linux-x64.zip"))
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
["release-builds/encrypt0r-darwin-x64/version"],
|
["release-builds/encrypt0r-darwin-x64/version"],
|
||||||
finder.version(getEntries("encrypt0r-mac.zip"))
|
finder.version(_.getEntries("encrypt0r-mac.zip"))
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
[
|
[
|
||||||
"Arizona v.1.0.0/resources/app/node_modules/electron/dist/version",
|
"Arizona v.1.0.0/resources/app/node_modules/electron/dist/version",
|
||||||
"Arizona v.1.0.0/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 test = require('kuta').test;
|
||||||
const os = require('../os')
|
const os = require('../os')
|
||||||
const assert = require('assert')
|
const assert = require('assert')
|
||||||
|
const _ = require('./utils')
|
||||||
|
|
||||||
test('it should linux correctly from filename', ()=> {
|
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('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.zip'))
|
||||||
assert.deepEqual('win32', os.guessFromFilename('Multrin-1.3.0-ia32-win.exe'))
|
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