Skip to content
This repository has been archived by the owner on Feb 26, 2022. It is now read-only.

Commit

Permalink
Bug 1024791 removing duplicate logic
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvold committed Jun 21, 2014
1 parent d99d2ef commit 1059f2c
Showing 1 changed file with 18 additions and 23 deletions.
41 changes: 18 additions & 23 deletions lib/sdk/deprecated/unit-test-finder.js
Expand Up @@ -39,52 +39,47 @@ const getTestEntries = directory => mapcat(entry =>
/^tests?$/.test(entry.leafName) ? getTestURIs(entry) : getTestEntries(entry),
filter(isDirectory, getDirectoryEntries(directory)));

const removeDups = (array) => array.reduce((result, value) => {
if (value != result[result.length - 1]) {
result.push(value);
}
return result;
}, []);

const getSuites = function getSuites({ id }) {
return getAddon(id).then(addon => {
let fileURI = addon.getResourceURI("tests/");
let isPacked = fileURI.scheme == "jar";
let xpiURI = addon.getResourceURI();
let file = xpiURI.QueryInterface(Ci.nsIFileURL).file;
let suites = [];
let addEntry = (entry) => {
if (TEST_REGEX.test(entry)) {
let suite = RegExp.$2 + RegExp.$3;
suites.push(suite);
}
}

if (isPacked) {
return getZipReader(file).then(zip => {
let entries = zip.findEntries(null);
while (entries.hasMore()) {
let entry = entries.getNext();
if (TEST_REGEX.test(entry)) {
let suite = RegExp.$2 + RegExp.$3;
suites.push(suite);
}
addEntry(entry);
}
zip.close();

// sort and remove dups
suites = suites.sort().reduce((result, value) => {
if (value != result[result.length - 1]) {
result.push(value);
}
return result;
}, []);

suites = removeDups(suites.sort());
return suites;
})
} else {
let tests = getTestEntries(file);
[...tests].forEach(path => {
if (TEST_REGEX.test(path)) {
let suite = RegExp.$2 + RegExp.$3;
suites.push(suite);
}
});
[...tests].forEach(addEntry);
}

suites = suites.sort().reduce((result, value) => {
if (value != result[result.length]) {
result.push(value);
}
return result;
}, []);
// sort and remove dups
suites = removeDups(suites.sort());
return suites;
});
}
Expand Down

0 comments on commit 1059f2c

Please sign in to comment.