commit 3ca5526f2950342794a2f27bbc97da7284cf6bc5
parent 353b935c74bf2dd7b9110707c1ce89e0c9deacdf
Author: Adomas VenĨkauskas <adomas.ven@gmail.com>
Date: Tue, 20 Sep 2016 16:13:55 +0300
Fix translator tester on xul extension
Diffstat:
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/chrome/content/zotero/tools/testTranslators/testTranslators.js b/chrome/content/zotero/tools/testTranslators/testTranslators.js
@@ -550,18 +550,27 @@ function haveTranslators(translators, type) {
return a.label.localeCompare(b.label);
});
+ var promises = [];
for(var i in translators) {
- var translatorTestView = new TranslatorTestView();
- translatorTestView.initWithTranslatorAndType(translators[i], type);
- if(translatorTestView.canRun) {
- translatorTestViewsToRun[type].push(translatorTestView);
- }
+ promises.push(translators[i].getCode());
}
- translatorTestStats[type].update();
- var ev = document.createEvent('HTMLEvents');
- ev.initEvent('ZoteroHaveTranslators-'+type, true, true);
- document.dispatchEvent(ev);
+ return Promise.all(promises).then(function(codes) {
+ for(var i in translators) {
+ // Make sure translator code is cached on the object
+ translators[i].code = codes[i];
+ var translatorTestView = new TranslatorTestView();
+ translatorTestView.initWithTranslatorAndType(translators[i], type);
+ if(translatorTestView.canRun) {
+ translatorTestViewsToRun[type].push(translatorTestView);
+ }
+ }
+
+ translatorTestStats[type].update();
+ var ev = document.createEvent('HTMLEvents');
+ ev.initEvent('ZoteroHaveTranslators-'+type, true, true);
+ document.dispatchEvent(ev);
+ });
}
/**