cucumber
Version:
The official JavaScript implementation of Cucumber.
45 lines (34 loc) • 1.11 kB
JavaScript
function Event(name, payload) {
var AstTreeWalker = require('../ast_tree_walker');
var self = {
getName: function getName() {
return name;
},
getPayloadItem: function getPayloadItem(itemName) {
return payload[itemName];
},
replicateAsPreEvent: function replicateAsPreEvent() {
var newName = buildBeforeEventName(name);
return AstTreeWalker.Event(newName, payload);
},
replicateAsPostEvent: function replicateAsPostEvent() {
var newName = buildAfterEventName(name);
return AstTreeWalker.Event(newName, payload);
},
occurredOn: function occurredOn(eventName) {
return eventName === name;
},
occurredAfter: function occurredAfter(eventName) {
var afterEventName = buildAfterEventName(eventName);
return afterEventName === name;
}
};
function buildBeforeEventName(eventName) {
return AstTreeWalker.BEFORE_EVENT_NAME_PREFIX + eventName;
}
function buildAfterEventName(eventName) {
return AstTreeWalker.AFTER_EVENT_NAME_PREFIX + eventName;
}
return self;
}
module.exports = Event;