52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
const assert = require("assert");
|
|
const parseListUnix = require("../lib/parseListUnix");
|
|
const FileInfo = require("../lib/FileInfo");
|
|
|
|
const listNormal = `
|
|
total 112
|
|
drwxr-xr-x+ 11 patrick staff 374 Dec 11 21:24 .
|
|
drwxr-xr-x+ 38 patrick staff 1292 Dec 11 14:31 ..
|
|
-rw-r--r--+ 1 patrick staff 1057 Dec 11 14:35 LICENSE.txt
|
|
drwxr-xr-x+ 5 patrick staff 170 Dec 11 17:24 lib
|
|
`;
|
|
|
|
describe("Unix list parser", function() {
|
|
const tests = [
|
|
{
|
|
title: "Regular list",
|
|
list: listNormal,
|
|
exp: [
|
|
(f = new FileInfo("LICENSE.txt"),
|
|
f.group = "staff",
|
|
f.size = 1057,
|
|
f.user = "patrick",
|
|
f.permissions = {
|
|
user: FileInfo.Permission.Read + FileInfo.Permission.Write,
|
|
group: FileInfo.Permission.Read,
|
|
world: FileInfo.Permission.Read
|
|
},
|
|
f.hardLinkCount = 1,
|
|
f.date = "Dec 11 14:35",
|
|
f.type = FileInfo.Type.File, f),
|
|
(f = new FileInfo("lib"),
|
|
f.group = "staff",
|
|
f.size = 170,
|
|
f.user = "patrick",
|
|
f.permissions = {
|
|
user: FileInfo.Permission.Read + FileInfo.Permission.Write + FileInfo.Permission.Execute,
|
|
group: FileInfo.Permission.Read + FileInfo.Permission.Execute,
|
|
world: FileInfo.Permission.Read + FileInfo.Permission.Execute
|
|
},
|
|
f.hardLinkCount = 5,
|
|
f.date = "Dec 11 17:24",
|
|
f.type = FileInfo.Type.Directory, f),
|
|
]
|
|
}
|
|
];
|
|
for (const test of tests) {
|
|
it(test.title, function() {
|
|
const actual = parseListUnix(test.list);
|
|
assert.deepEqual(actual, test.exp);
|
|
});
|
|
}
|
|
}); |