From 49dab4a3b71d1f202f81c54ce588d271b24472dc Mon Sep 17 00:00:00 2001 From: jefleponot Date: Tue, 24 Nov 2015 15:26:44 +0100 Subject: [PATCH 1/2] fix:translation --- seleniumbuilder/chrome/content/html/js/builder/i18n/fr.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seleniumbuilder/chrome/content/html/js/builder/i18n/fr.js b/seleniumbuilder/chrome/content/html/js/builder/i18n/fr.js index 1fa4bc0..43c2716 100644 --- a/seleniumbuilder/chrome/content/html/js/builder/i18n/fr.js +++ b/seleniumbuilder/chrome/content/html/js/builder/i18n/fr.js @@ -384,10 +384,11 @@ m.step_storeAlertPresent = "Affecter la présence d'une alerte "; m.step_assertEval = "Vérifier le script (bloquant)"; m.step_verifyEval = "Vérifier le script"; m.step_waitForEval = "Attendre la fin du script"; -m.step_storeForEval = "Affecter le résultat du script"; +m.step_storeEval = "Affecter le résultat du script"; m.step_answerAlert = "Compléter la boite de dialogue"; m.step_acceptAlert = "Acquitter la boite de dialogue"; m.step_dismissAlert = "Répudier la boite de dialogue"; +m.step_setWindowSize = "Redimensionner la fenêtre"; m.p_attributeName = "Attribut"; m.p_file = "Fichier"; m.p_locator = "Localisation"; From 480bbc259242e95f0325a13ed89664a3383c429b Mon Sep 17 00:00:00 2001 From: jefleponot Date: Tue, 24 Nov 2015 16:04:25 +0100 Subject: [PATCH 2/2] simplify function --- .../html/js/builder/selenium2/playback.js | 41 +++++-------------- .../html/js/builder/selenium2/rcPlayback.js | 41 +++++-------------- 2 files changed, 22 insertions(+), 60 deletions(-) diff --git a/seleniumbuilder/chrome/content/html/js/builder/selenium2/playback.js b/seleniumbuilder/chrome/content/html/js/builder/selenium2/playback.js index 47ef663..6c27e15 100644 --- a/seleniumbuilder/chrome/content/html/js/builder/selenium2/playback.js +++ b/seleniumbuilder/chrome/content/html/js/builder/selenium2/playback.js @@ -310,36 +310,17 @@ builder.selenium2.playback.deselectElement = function(target, callback) { /** Performs ${variable} substitution for parameters. */ builder.selenium2.playback.param = function(pName) { - var output = ""; - var hasDollar = false; - var insideVar = false; - var varName = ""; - var text = builder.selenium2.playback.currentStep.type.getParamType(pName) == "locator" ? builder.selenium2.playback.currentStep[pName].getValue() : builder.selenium2.playback.currentStep[pName]; - for (var i = 0; i < text.length; i++) { - var ch = text.substring(i, i + 1); - if (insideVar) { - if (ch == "}") { - if (builder.selenium2.playback.vars[varName] == undefined) { - throw _t('sel2_variable_not_set', varName); - } - output += builder.selenium2.playback.vars[varName]; - insideVar = false; - hasDollar = false; - varName = ""; - } else { - varName += ch; - } - } else { - // !insideVar - if (hasDollar) { - if (ch == "{") { insideVar = true; } else { hasDollar = false; output += "$" + ch; } - } else { - if (ch == "$") { hasDollar = true; } else { output += ch; } - } - } - } - - return builder.selenium2.playback.currentStep.type.getParamType(pName) == "locator" ? {"type": builder.selenium2.playback.currentStep[pName].getName(builder.selenium2), "value": output} : output; + var text = builder.selenium2.playback.currentStep.type.getParamType(pName) == "locator" + ? builder.selenium2.playback.currentStep[pName].getValue() + : builder.selenium2.playback.currentStep[pName]; + var output = text.replace(/\${(\w+)}/g, function(match, varName) { + return builder.selenium2.playback.vars[varName] !== undefined + ? builder.selenium2.playback.vars[varName] + : match; + }); + return builder.selenium2.playback.currentStep.type.getParamType(pName) == "locator" + ? {"type": builder.selenium2.playback.currentStep[pName].getName(builder.selenium2), "value": output} + : output; }; builder.selenium2.playback.canPlayback = function(stepType) { diff --git a/seleniumbuilder/chrome/content/html/js/builder/selenium2/rcPlayback.js b/seleniumbuilder/chrome/content/html/js/builder/selenium2/rcPlayback.js index 4df9d4d..34e0c8a 100644 --- a/seleniumbuilder/chrome/content/html/js/builder/selenium2/rcPlayback.js +++ b/seleniumbuilder/chrome/content/html/js/builder/selenium2/rcPlayback.js @@ -349,36 +349,17 @@ builder.selenium2.rcPlayback.send = function(r, http_method, path, msg, callback /** Performs ${variable} substitution for parameters. */ builder.selenium2.rcPlayback.param = function(r, pName) { - var output = ""; - var hasDollar = false; - var insideVar = false; - var varName = ""; - var text = r.currentStep.type.getParamType(pName) == "locator" ? r.currentStep[pName].getValue() : r.currentStep[pName]; - for (var i = 0; i < text.length; i++) { - var ch = text.substring(i, i + 1); - if (insideVar) { - if (ch == "}") { - if (r.vars[varName] == undefined) { - throw "Variable not set: " + varName + "."; - } - output += r.vars[varName]; - insideVar = false; - hasDollar = false; - varName = ""; - } else { - varName += ch; - } - } else { - // !insideVar - if (hasDollar) { - if (ch == "{") { insideVar = true; } else { hasDollar = false; output += "$" + ch; } - } else { - if (ch == "$") { hasDollar = true; } else { output += ch; } - } - } - } - - return r.currentStep.type.getParamType(pName) == "locator" ? {"using": r.currentStep[pName].getName(builder.selenium2), "value": output} : output; + var text = r.currentStep.type.getParamType(pName) == "locator" + ? r.currentStep[pName].getValue() + : r.currentStep[pName]; + var output = text.replace(/\${(\w+)}/g, function(match, varName) { + return r.vars[varName] !== undefined + ? r.vars[varName] + : match; + }); + return r.currentStep.type.getParamType(pName) == "locator" + ? {"using": r.currentStep[pName].getName(builder.selenium2), "value": output} + : output; }; builder.selenium2.rcPlayback.print = function(r, text) {