Methods

Class Index [+]

Quicksearch

Cucumber::JsSupport::JsSnippets

Constants

PARAM_PATTERN
ESCAPED_PARAM_PATTERN

Public Instance Methods

snippet_text(step_keyword, step_name, multiline_arg_class) click to toggle source
    # File lib/cucumber/js_support/js_snippets.rb, line 7
 7:       def snippet_text(step_keyword, step_name, multiline_arg_class)
 8:         escaped = Regexp.escape(step_name).gsub('\ ', ' ').gsub('/', '\/')
 9:         escaped = escaped.gsub(PARAM_PATTERN, ESCAPED_PARAM_PATTERN)
10: 
11:         n = 0
12:         block_args = escaped.scan(ESCAPED_PARAM_PATTERN).map do |a|
13:           n += 1
14:           "arg#{n}"
15:         end
16:         block_args << multiline_arg_class.default_arg_name unless multiline_arg_class.nil?
17:         block_arg_string = block_args.empty? ? "" : "#{block_args.join(", ")}"
18:         multiline_class_comment = ""
19:         if(multiline_arg_class == Ast::Table)
20:           multiline_class_comment = "//#{multiline_arg_class.default_arg_name} is a #{multiline_arg_class.to_s}\n"
21:         end
22: 
23:         "#{step_keyword}(/^#{escaped}$/, function(#{block_arg_string}){\n  #{multiline_class_comment}  //express the regexp above with the code you wish you had\n});"
24:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.