Skip to content

Commit d294d04

Browse files
author
charlierudolph
committed
Use Array instead of Type.Collection for support code library
1 parent bc86f09 commit d294d04

File tree

2 files changed

+75
-181
lines changed

2 files changed

+75
-181
lines changed

lib/cucumber/support_code/library.js

+10-14
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ function Library(supportCodeDefinition) {
22
var Cucumber = require('../../cucumber');
33

44
var listeners = [];
5-
var stepDefinitions = Cucumber.Type.Collection();
6-
var aroundHooks = Cucumber.Type.Collection();
7-
var beforeHooks = Cucumber.Type.Collection();
8-
var afterHooks = Cucumber.Type.Collection();
5+
var stepDefinitions = [];
6+
var aroundHooks = [];
7+
var beforeHooks = [];
8+
var afterHooks = [];
99
var World = function World() {};
1010
var defaultTimeout = 5 * 1000;
1111

@@ -41,13 +41,9 @@ function Library(supportCodeDefinition) {
4141
},
4242

4343
lookupHooksByScenario: function lookupHooksByScenario(hooks, scenario) {
44-
var matchingHooks = Cucumber.Type.Collection();
45-
hooks.forEach(function (hook) {
46-
if (hook.appliesToScenario(scenario)) {
47-
matchingHooks.add(hook);
48-
}
44+
return hooks.filter(function (hook) {
45+
return hook.appliesToScenario(scenario);
4946
});
50-
return matchingHooks;
5147
},
5248

5349
lookupStepDefinitionByName: function lookupStepDefinitionByName(name) {
@@ -70,21 +66,21 @@ function Library(supportCodeDefinition) {
7066
var tagGroupStrings = Cucumber.Util.Arguments(arguments);
7167
var code = tagGroupStrings.pop();
7268
var hook = Cucumber.SupportCode.AroundHook(code, {tags: tagGroupStrings});
73-
aroundHooks.add(hook);
69+
aroundHooks.push(hook);
7470
},
7571

7672
defineBeforeHook: function defineBeforeHook() {
7773
var tagGroupStrings = Cucumber.Util.Arguments(arguments);
7874
var code = tagGroupStrings.pop();
7975
var hook = Cucumber.SupportCode.Hook(code, {tags: tagGroupStrings});
80-
beforeHooks.add(hook);
76+
beforeHooks.push(hook);
8177
},
8278

8379
defineAfterHook: function defineAfterHook() {
8480
var tagGroupStrings = Cucumber.Util.Arguments(arguments);
8581
var code = tagGroupStrings.pop();
8682
var hook = Cucumber.SupportCode.Hook(code, {tags: tagGroupStrings});
87-
afterHooks.add(hook);
83+
afterHooks.push(hook);
8884
},
8985

9086
defineStep: function defineStep(name, options, code) {
@@ -93,7 +89,7 @@ function Library(supportCodeDefinition) {
9389
options = {};
9490
}
9591
var stepDefinition = Cucumber.SupportCode.StepDefinition(name, options, code);
96-
stepDefinitions.add(stepDefinition);
92+
stepDefinitions.push(stepDefinition);
9793
},
9894

9995
registerListener: function registerListener(listener) {

0 commit comments

Comments
 (0)