File: doc_strings.feature

package info (click to toggle)
cucumber 1.3.17-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,296 kB
  • ctags: 1,812
  • sloc: ruby: 13,576; python: 28; sh: 10; makefile: 10; tcl: 3
file content (73 lines) | stat: -rw-r--r-- 1,857 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Feature: Doc strings

  If you need to specify information in a scenario that won't fit on a single line, 
  you can use a DocString.
  
  A DocString follows a step, and starts and ends with three double quotes, like this:
  
  ```gherkin
  When I ask to reset my password
  Then I should receive an email with:
    """
    Dear bozo,
    
    Please click this link to reset your password
    """
  ```
  
  It's possible to annotate the DocString with the type of content it contains. This is used by
  formatting tools like http://relishapp.com which will render the contents of the DocString
  appropriately. You specify the content type after the triple quote, like this:
  
  ```gherkin
  Given there is some Ruby code:
    """ruby
    puts "hello world"
    """
  
  You can read the content type from the argument passed into your step definition, as shown
  in the example below.

  Scenario: Plain text Docstring
    Given a scenario with a step that looks like this:
      """gherkin
      Given I have a lot to say:
       \"\"\"
       One
       Two
       Three
       \"\"\"
      """
    And a step definition that looks like this:
      """ruby
      Given /say/ do |text|
        puts text
      end
      """
    When I run the feature with the progress formatter
    Then the output should contain:
      """
      One
      Two
      Three
      """

  Scenario: DocString with interesting content type
    Given a scenario with a step that looks like this:
      """gherkin
      Given I have some code for you:
       \"\"\"ruby
       # hello
       \"\"\"
      """
    And a step definition that looks like this:
      """ruby
      Given /code/ do |text|
        puts text.content_type
      end
      """
    When I run the feature with the progress formatter
    Then the output should contain:
      """
      ruby
      """