~ubuntu-branches/ubuntu/wily/cucumber/wily-proposed

« back to all changes in this revision

Viewing changes to features/docs/wire_protocol/step_matches_message.feature

  • Committer: Package Import Robot
  • Author(s): Cédric Boutillier, Antonio Terceiro, Cédric Boutillier
  • Date: 2015-06-20 16:52:32 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20150620165232-hznc8mxma08er27p
Tags: 2.0.0-1
[ Antonio Terceiro ]
* debian/cucumber.pod: fix typo in manpage (Closes: #767215)

[ Cédric Boutillier ]
* Imported Upstream version 2.0.0
* rename the file in debian/missing-source to remove -min suffix, and make
  lintian happy
* reproducibility: use last changelog date to build the manpage
* update 0004-Update_default_binary_path.patch
* drop 0001-Remove-rubygems-bundler-stuff-from-spec_helper.patch, not needed
  anymore
* build-depend on pry
* depend on ruby-cucumber-core

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
@wire
 
2
Feature: Step matches message
 
3
 
 
4
  When the features have been parsed, Cucumber will send a `step_matches`
 
5
  message to ask the wire server if it can match a step name. This happens for
 
6
  each of the steps in each of the features.
 
7
 
 
8
  The wire server replies with an array of StepMatch objects.
 
9
 
 
10
  When each StepMatch is returned, it contains the following data:
 
11
 
 
12
  * `id` - identifier for the step definition to be used later when if it
 
13
  needs to be invoked. The identifier can be any string value and
 
14
  is simply used for the wire server's own reference.
 
15
  * `args` - any argument values as captured by the wire end's own regular
 
16
  expression (or other argument matching) process.
 
17
 
 
18
  Background:
 
19
    Given a file named "features/wired.feature" with:
 
20
      """
 
21
      Feature: High strung
 
22
        Scenario: Wired
 
23
          Given we're all wired
 
24
 
 
25
      """
 
26
    And a file named "features/step_definitions/some_remote_place.wire" with:
 
27
      """
 
28
      host: localhost
 
29
      port: 54321
 
30
 
 
31
      """
 
32
 
 
33
  Scenario: Dry run finds no step match
 
34
    Given there is a wire server running on port 54321 which understands the following protocol:
 
35
      | request                                              | response       |
 
36
      | ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[]] |
 
37
    When I run `cucumber --dry-run --no-snippets -f progress`
 
38
    And it should pass with:
 
39
      """
 
40
      U
 
41
 
 
42
      1 scenario (1 undefined)
 
43
      1 step (1 undefined)
 
44
 
 
45
      """
 
46
 
 
47
  Scenario: Dry run finds a step match
 
48
    Given there is a wire server running on port 54321 which understands the following protocol:
 
49
      | request                                              | response                            |
 
50
      | ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[{"id":"1", "args":[]}]] |
 
51
    When I run `cucumber --dry-run -f progress`
 
52
    And it should pass with:
 
53
      """
 
54
      -
 
55
 
 
56
      1 scenario (1 skipped)
 
57
      1 step (1 skipped)
 
58
 
 
59
      """
 
60
 
 
61
  Scenario: Step matches returns details about the remote step definition
 
62
 
 
63
    Optionally, the StepMatch can also contain a source reference, and a native
 
64
    regexp string which will be used by some formatters.
 
65
 
 
66
    Given there is a wire server running on port 54321 which understands the following protocol:
 
67
      | request                                              | response                                                                           |
 
68
      | ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[{"id":"1", "args":[], "source":"MyApp.MyClass:123", "regexp":"we.*"}]] |
 
69
    When I run `cucumber -f stepdefs --dry-run`
 
70
    Then it should pass with:
 
71
      """
 
72
      -
 
73
 
 
74
      we.*   # MyApp.MyClass:123
 
75
 
 
76
      1 scenario (1 skipped)
 
77
      1 step (1 skipped)
 
78
 
 
79
      """
 
80
    And the stderr should not contain anything
 
81