2016-04-12 15:50:38 +03:00
|
|
|
function finish() {
|
|
|
|
postMessage({ type: 'finish' });
|
|
|
|
}
|
|
|
|
|
|
|
|
function ok(a, msg) {
|
|
|
|
postMessage({ type: 'test', test: !!a, message: msg });
|
|
|
|
}
|
|
|
|
|
|
|
|
function is(a, b, msg) {
|
|
|
|
ok(a === b, msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
function isnot(a, b, msg) {
|
|
|
|
ok(a != b, msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
function checkSubDir(dir) {
|
|
|
|
return dir.getFilesAndDirectories().then(
|
|
|
|
function(data) {
|
|
|
|
for (var i = 0; i < data.length; ++i) {
|
|
|
|
ok (data[i] instanceof File || data[i] instanceof Directory, "Just Files or Directories");
|
|
|
|
if (data[i] instanceof Directory) {
|
|
|
|
isnot(data[i].name, '/', "Subdirectory should be called with the leafname");
|
|
|
|
isnot(data[i].path, '/', "Subdirectory path should be called with the leafname");
|
|
|
|
isnot(data[i].path, dir.path, "Subdirectory path should contain the parent path.");
|
|
|
|
is(data[i].path,dir.path + '/' + data[i].name, "Subdirectory path should be called parentdir.path + '/' + leafname");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
onmessage = function(e) {
|
2016-04-12 15:51:52 +03:00
|
|
|
var directory = e.data;
|
|
|
|
ok(directory instanceof Directory, "This is a directory.");
|
2016-04-12 15:50:38 +03:00
|
|
|
|
2016-04-12 15:51:52 +03:00
|
|
|
directory.getFilesAndDirectories().then(
|
2016-04-12 15:50:38 +03:00
|
|
|
function(data) {
|
|
|
|
ok(data.length, "We should have some data.");
|
|
|
|
var promises = [];
|
|
|
|
for (var i = 0; i < data.length; ++i) {
|
|
|
|
ok (data[i] instanceof File || data[i] instanceof Directory, "Just Files or Directories");
|
|
|
|
if (data[i] instanceof Directory) {
|
|
|
|
isnot(data[i].name, '/', "Subdirectory should be called with the leafname");
|
|
|
|
is(data[i].path, '/' + data[i].name, "Subdirectory path should be called '/' + leafname");
|
|
|
|
promises.push(checkSubDir(data[i]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return Promise.all(promises);
|
|
|
|
},
|
|
|
|
function() {
|
|
|
|
ok(false, "Something when wrong");
|
|
|
|
}
|
|
|
|
).then(finish);
|
|
|
|
}
|