Make sure translator test errors appear both in log and in console
This commit is contained in:
parent
cc7360dc0c
commit
d08ad1143d
|
@ -51,14 +51,19 @@ Zotero_TranslatorTesters = new function() {
|
||||||
Zotero.Translators.getAllForType(TEST_TYPES[i], new function() {
|
Zotero.Translators.getAllForType(TEST_TYPES[i], new function() {
|
||||||
var type = TEST_TYPES[i];
|
var type = TEST_TYPES[i];
|
||||||
return function(translators) {
|
return function(translators) {
|
||||||
for(var i=0; i<translators.length; i++) {
|
try {
|
||||||
if(skipTranslators && !skipTranslators[translators[i].translatorID]) {
|
for(var i=0; i<translators.length; i++) {
|
||||||
testers.push(new Zotero_TranslatorTester(translators[i], type));
|
if(skipTranslators && !skipTranslators[translators[i].translatorID]) {
|
||||||
|
testers.push(new Zotero_TranslatorTester(translators[i], type));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if(!(--waitingForTranslators)) {
|
||||||
|
runTesters(testers, numConcurrentTests, doneCallback);
|
||||||
}
|
}
|
||||||
};
|
} catch(e) {
|
||||||
|
Zotero.debug(e);
|
||||||
if(!(--waitingForTranslators)) {
|
Zotero.logError(e);
|
||||||
runTesters(testers, numConcurrentTests, doneCallback);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}, true);
|
}, true);
|
||||||
|
@ -70,46 +75,51 @@ Zotero_TranslatorTesters = new function() {
|
||||||
*/
|
*/
|
||||||
function runTesters(testers, numConcurrentTests, doneCallback) {
|
function runTesters(testers, numConcurrentTests, doneCallback) {
|
||||||
var testersRunning = 0;
|
var testersRunning = 0;
|
||||||
var results = [];
|
var results = []
|
||||||
|
|
||||||
if("getLocaleCollation" in Zotero) {
|
if("getLocaleCollation" in Zotero) {
|
||||||
var collation = Zotero.getLocaleCollation();
|
var collation = Zotero.getLocaleCollation();
|
||||||
strcmp = function(a, b) {
|
var strcmp = function(a, b) {
|
||||||
return collation.compareString(1, a, b);
|
return collation.compareString(1, a, b);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
strcmp = function (a, b) {
|
var strcmp = function (a, b) {
|
||||||
return a.toLowerCase().localeCompare(b.toLowerCase());
|
return a.toLowerCase().localeCompare(b.toLowerCase());
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var testerDoneCallback = function(tester) {
|
var testerDoneCallback = function(tester) {
|
||||||
if(tester.pending.length) return;
|
try {
|
||||||
|
if(tester.pending.length) return;
|
||||||
Zotero.debug("Done testing "+tester.translator.label);
|
|
||||||
|
|
||||||
// Done translating, so serialize test results
|
|
||||||
testersRunning--;
|
|
||||||
results.push(tester.serialize());
|
|
||||||
|
|
||||||
if(testers.length) {
|
|
||||||
// Run next tester if one is available
|
|
||||||
runNextTester();
|
|
||||||
} else if(testersRunning === 0) {
|
|
||||||
// Testing is done, so sort results
|
|
||||||
results = results.sort(function(a, b) {
|
|
||||||
if(a.type !== b.type) {
|
|
||||||
return TEST_TYPES.indexOf(a.type) - TEST_TYPES.indexOf(b.type);
|
|
||||||
}
|
|
||||||
return strcmp(a.label, b.label);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Call done callback
|
Zotero.debug("Done testing "+tester.translator.label);
|
||||||
doneCallback({
|
|
||||||
"browser":Zotero.browser,
|
// Done translating, so serialize test results
|
||||||
"version":Zotero.version,
|
testersRunning--;
|
||||||
"results":results
|
results.push(tester.serialize());
|
||||||
});
|
|
||||||
|
if(testers.length) {
|
||||||
|
// Run next tester if one is available
|
||||||
|
runNextTester();
|
||||||
|
} else if(testersRunning === 0) {
|
||||||
|
// Testing is done, so sort results
|
||||||
|
results = results.sort(function(a, b) {
|
||||||
|
if(a.type !== b.type) {
|
||||||
|
return TEST_TYPES.indexOf(a.type) - TEST_TYPES.indexOf(b.type);
|
||||||
|
}
|
||||||
|
return strcmp(a.label, b.label);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Call done callback
|
||||||
|
doneCallback({
|
||||||
|
"browser":Zotero.browser,
|
||||||
|
"version":Zotero.version,
|
||||||
|
"results":results
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
Zotero.debug(e);
|
||||||
|
Zotero.logError(e);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user