cucumber
Version:
The official JavaScript implementation of Cucumber.
44 lines (34 loc) • 1.11 kB
JavaScript
var Event = function(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;