lib/cucumber/rb_support/rb_language.rb in cucumber-0.3.103 vs lib/cucumber/rb_support/rb_language.rb in cucumber-0.3.104

- old
+ new

@@ -32,10 +32,11 @@ include LanguageSupport::LanguageMethods attr_reader :current_world def initialize(step_mother) @step_mother = step_mother + @step_definitions = [] RbDsl.rb_language = self end def alias_adverbs(adverbs) adverbs.each do |adverb| @@ -54,14 +55,24 @@ ensure @step_definitions = nil end end + def step_matches(step_name, formatted_step_name) + @step_definitions.map do |step_definition| + step_definition.step_match(step_name, formatted_step_name) + end.compact + end + def arguments_from(regexp, step_name) @regexp_argument_matcher.arguments_from(regexp, step_name) end + def unmatched_step_definitions + @step_definitions.select{|step_definition| !step_definition.matched?} + end + def snippet_text(step_keyword, step_name, multiline_arg_class = nil) escaped = Regexp.escape(step_name).gsub('\ ', ' ').gsub('/', '\/') escaped = escaped.gsub(PARAM_PATTERN, ESCAPED_PARAM_PATTERN) n = 0 @@ -92,11 +103,13 @@ def register_rb_transform(regexp, proc) add_transform(RbTransform.new(self, regexp, proc)) end def register_rb_step_definition(regexp, proc) - add_step_definition(RbStepDefinition.new(self, regexp, proc)) + step_definition = RbStepDefinition.new(self, regexp, proc) + @step_definitions << step_definition + step_definition end def build_rb_world_factory(world_modules, proc) if(proc) raise MultipleWorld.new(@world_proc, proc) if @world_proc @@ -104,14 +117,14 @@ end @world_modules ||= [] @world_modules += world_modules end - protected - def load_code_file(code_file) require code_file # This will cause self.add_step_definition, self.add_hook, and self.add_transform to be called from RbDsl end + + protected def begin_scenario begin_rb_scenario end