Skip to content

Commit d2ebdf0

Browse files
committed
Fixed #242 - script parsing now tells you what step types it chokes on.
1 parent ff98a0b commit d2ebdf0

File tree

2 files changed

+19
-0
lines changed
  • seleniumbuilder/chrome/content/html/js/builder

2 files changed

+19
-0
lines changed

seleniumbuilder/chrome/content/html/js/builder/script.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ builder.Step = function(type) {
118118
};
119119

120120
builder.stepFromJSON = function(parsedJSON, seleniumVersion) {
121+
if (!seleniumVersion.stepTypes[parsedJSON.type]) {
122+
throw new Error(_t("sel1_no_command_found") + ": " + parsedJSON.type);
123+
}
121124
var step = new builder.Step(seleniumVersion.stepTypes[parsedJSON.type]);
122125
step.negated = parsedJSON.negated || false;
123126
step.step_name = parsedJSON.step_name || null;

seleniumbuilder/chrome/content/html/js/builder/selenium2/io/io.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,22 @@ builder.selenium2.io.parseScript = function(text, path) {
1212
'format': builder.selenium2.io.formats[0]
1313
};
1414

15+
var known_unknowns = [];
16+
var ko_string = "";
17+
for (var i = 0; i < scriptJSON.steps.length; i++) {
18+
var typeName = scriptJSON.steps[i].type;
19+
if (!builder.selenium2.stepTypes[typeName] && known_unknowns.indexOf(typeName) == -1) {
20+
if (known_unknowns.length > 0) {
21+
ko_string += ", ";
22+
}
23+
ko_string += typeName;
24+
known_unknowns.push(typeName);
25+
}
26+
}
27+
if (known_unknowns.length > 0) {
28+
throw new Error(_t("sel1_no_command_found") + ": " + ko_string);
29+
}
30+
1531
for (var i = 0; i < scriptJSON.steps.length; i++) {
1632
script.steps.push(builder.stepFromJSON(scriptJSON.steps[i], builder.selenium2));
1733
}

0 commit comments

Comments
 (0)