Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Commit ff88e96

Browse files
karthiktv006hankduan
authored andcommitted
feat(cucumber): Allow cucumber tests containing line numbers
example: specs: [ 'cucumber/lib.feature:7' ]
1 parent f9b0a92 commit ff88e96

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

lib/configParser.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,21 @@ ConfigParser.resolveFilePatterns =
9696

9797
if (patterns) {
9898
for (var i = 0; i < patterns.length; ++i) {
99-
var matches = glob.sync(patterns[i], {cwd: cwd});
99+
// Cucumber allows running a spec given a line number. See
100+
// https://github.com/angular/protractor/issues/2413
101+
var fileName = patterns[i].split(':')[0],
102+
lineNumber = patterns[i].split(':')[1],
103+
matches = glob.sync(fileName, {cwd: cwd});
104+
100105
if (!matches.length && !opt_omitWarnings) {
101106
log.warn('pattern ' + patterns[i] + ' did not match any files.');
102107
}
103108
for (var j = 0; j < matches.length; ++j) {
104-
resolvedFiles.push(path.resolve(cwd, matches[j]));
109+
var resolvedPath = path.resolve(cwd, matches[j]);
110+
if(lineNumber) {
111+
resolvedPath += ':' + lineNumber;
112+
}
113+
resolvedFiles.push(resolvedPath);
105114
}
106115
}
107116
}

0 commit comments

Comments
 (0)