commit fb87bded88e9f35d3e1700ca4afa0abd0ec84e5f
parent 763d46a565af159e0cf195b74d2ee7ffe4c38ccd
Author: Simon Kornblith <simon@simonster.com>
Date: Mon, 4 Jul 2011 17:05:42 +0000
Closes #1852: Test success may depend on capitalizeTitles preference
Diffstat:
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/chrome/content/zotero/tools/testTranslators/translatorTester.js b/chrome/content/zotero/tools/testTranslators/translatorTester.js
@@ -230,6 +230,7 @@ Zotero_TranslatorTester.prototype.runTest = function(test, doc, testDoneCallback
callback(newItems);
});
+ translate.capitalizeTitles = false;
// internal hack to call detect on this translator
translate._potentialTranslators = [this._translator];
diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js
@@ -498,7 +498,7 @@ Zotero.Utilities = {
string = this.trimInternal(string);
string = string.replace(/ : /g, ": ");
- if(!Zotero.Prefs.get('capitalizeTitles') && !force) return string;
+ if(force === false || (!Zotero.Prefs.get('capitalizeTitles') && !force)) return string;
if(!string) return "";
// split words
@@ -784,6 +784,24 @@ Zotero.Utilities.Translate.prototype.createContextObject = Zotero.OpenURL.create
Zotero.Utilities.Translate.prototype.parseContextObject = Zotero.OpenURL.parseContextObject;
/**
+ * Hack to overloads {@link Zotero.Utilities.capitalizeTitle} to allow overriding capitalizeTitles
+ * pref on a per-translate instance basis (for translator testing only)
+ */
+Zotero.Utilities.Translate.prototype.capitalizeTitle = function(string, force) {
+ if(force === undefined) {
+ var translate = this._translate;
+ do {
+ if(translate.capitalizeTitles !== undefined) {
+ force = translate.capitalizeTitles;
+ break;
+ }
+ } while(translate = translate._parentTranslator);
+ }
+
+ return Zotero.Utilities.capitalizeTitle(string, force);
+}
+
+/**
* Gets the current Zotero version
*
* @type String