Methods

Files

Class/Module Index [+]

Quicksearch

Cucumber::Runtime::UserInterface

Attributes

visitor[W]

Public Instance Methods

ask(question, timeout_seconds) click to toggle source

Suspends execution and prompts question to the console (STDOUT). An operator (manual tester) can then enter a line of text and hit <ENTER>. The entered text is returned, and both question and the result is added to the output using puts.

If you want a beep to happen (to grab the manual tester's attention), just prepend ASCII character 7 to the question:

ask("#{7.chr}How many cukes are in the external system?")

If that doesn't issue a beep, you can shell out to something else that makes a sound before invoking ask.

# File lib/cucumber/runtime/user_interface.rb, line 30
def ask(question, timeout_seconds)
  STDOUT.puts(question)
  STDOUT.flush
  puts(question)

  if(Cucumber::JRUBY)
    answer = jruby_gets(timeout_seconds)
  else
    answer = mri_gets(timeout_seconds)
  end

  if(answer)
    puts(answer)
    answer
  else
    raise("Waited for input for #{timeout_seconds} seconds, then timed out.")
  end
end
embed(src, mime_type, label) click to toggle source

Embed src of MIME type mime_type into the output. The src argument may be a path to a file, or if it's an image it may also be a Base64 encoded image. The embedded data may or may not be ignored, depending on what kind of formatter(s) are active.

# File lib/cucumber/runtime/user_interface.rb, line 53
def embed(src, mime_type, label)
  @visitor.embed(src, mime_type, label)
end
puts(*messages) click to toggle source

Output messages alongside the formatted output. This is an alternative to using Kernel#puts - it will display nicer, and in all outputs (in case you use several formatters)

# File lib/cucumber/runtime/user_interface.rb, line 13
def puts(*messages)
  @visitor.puts(*messages)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.