cuke_modeler 1.3.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +60 -17
- data/CHANGELOG.md +312 -0
- data/Gemfile +19 -3
- data/LICENSE.txt +1 -1
- data/README.md +17 -7
- data/Rakefile +45 -28
- data/appveyor.yml +57 -17
- data/cuke_modeler.gemspec +6 -3
- data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +1 -0
- data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +1 -0
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +2 -1
- data/lib/cuke_modeler/adapters/gherkin_5_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_6_adapter.rb +310 -0
- data/lib/cuke_modeler/adapters/gherkin_7_adapter.rb +307 -0
- data/lib/cuke_modeler/adapters/gherkin_8_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +12 -0
- data/lib/cuke_modeler/containing.rb +16 -0
- data/lib/cuke_modeler/described.rb +1 -0
- data/lib/cuke_modeler/models/step.rb +31 -2
- data/lib/cuke_modeler/named.rb +1 -0
- data/lib/cuke_modeler/nested.rb +1 -0
- data/lib/cuke_modeler/parsed.rb +1 -0
- data/lib/cuke_modeler/parsing.rb +116 -68
- data/lib/cuke_modeler/sourceable.rb +1 -0
- data/lib/cuke_modeler/stepped.rb +1 -0
- data/lib/cuke_modeler/taggable.rb +1 -0
- data/lib/cuke_modeler/version.rb +1 -1
- data/testing/cucumber/features/analysis/step_comparison.feature +25 -0
- data/testing/cucumber/features/analysis/test_comparison.feature +1 -1
- data/testing/cucumber/step_definitions/feature_file_steps.rb +1 -1
- data/testing/cucumber/step_definitions/modeling_steps.rb +7 -2
- data/testing/cucumber/step_definitions/verification_steps.rb +11 -2
- data/testing/file_helper.rb +3 -0
- data/testing/gemfiles/gherkin2.gemfile +8 -0
- data/testing/gemfiles/gherkin3.gemfile +6 -0
- data/testing/gemfiles/gherkin4.gemfile +7 -0
- data/testing/gemfiles/gherkin5.gemfile +7 -0
- data/testing/gemfiles/gherkin6.gemfile +10 -0
- data/testing/gemfiles/gherkin7.gemfile +9 -0
- data/testing/gemfiles/gherkin8.gemfile +9 -0
- data/testing/gemfiles/gherkin9.gemfile +9 -0
- data/testing/helper_methods.rb +23 -0
- data/testing/rspec/spec/integration/{gherkin_2_adapter_spec.rb → adapters/gherkin_2_adapter_spec.rb} +13 -13
- data/testing/rspec/spec/integration/{gherkin_3_adapter_spec.rb → adapters/gherkin_3_adapter_spec.rb} +13 -13
- data/testing/rspec/spec/integration/{gherkin_4_adapter_spec.rb → adapters/gherkin_4_adapter_spec.rb} +13 -13
- data/testing/rspec/spec/integration/adapters/gherkin_5_adapter_spec.rb +165 -0
- data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +159 -0
- data/testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb +162 -0
- data/testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb +162 -0
- data/testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb +162 -0
- data/testing/rspec/spec/integration/{background_integration_spec.rb → models/background_integration_spec.rb} +90 -86
- data/testing/rspec/spec/integration/{cell_integration_spec.rb → models/cell_integration_spec.rb} +49 -38
- data/testing/rspec/spec/integration/{comment_integration_spec.rb → models/comment_integration_spec.rb} +31 -20
- data/testing/rspec/spec/integration/{directory_integration_spec.rb → models/directory_integration_spec.rb} +3 -3
- data/testing/rspec/spec/integration/{doc_string_integration_spec.rb → models/doc_string_integration_spec.rb} +39 -35
- data/testing/rspec/spec/integration/{example_integration_spec.rb → models/example_integration_spec.rb} +109 -83
- data/testing/rspec/spec/integration/{feature_file_integration_spec.rb → models/feature_file_integration_spec.rb} +52 -38
- data/testing/rspec/spec/integration/{feature_integration_spec.rb → models/feature_integration_spec.rb} +125 -112
- data/testing/rspec/spec/integration/{model_integration_spec.rb → models/model_integration_spec.rb} +1 -1
- data/testing/rspec/spec/integration/{outline_integration_spec.rb → models/outline_integration_spec.rb} +138 -129
- data/testing/rspec/spec/integration/{row_integration_spec.rb → models/row_integration_spec.rb} +55 -35
- data/testing/rspec/spec/integration/{scenario_integration_spec.rb → models/scenario_integration_spec.rb} +92 -88
- data/testing/rspec/spec/integration/models/step_integration_spec.rb +573 -0
- data/testing/rspec/spec/integration/{table_integration_spec.rb → models/table_integration_spec.rb} +38 -34
- data/testing/rspec/spec/integration/{tag_integration_spec.rb → models/tag_integration_spec.rb} +56 -36
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +45 -7
- data/testing/rspec/spec/spec_helper.rb +79 -43
- data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +25 -0
- data/testing/rspec/spec/unit/{background_unit_spec.rb → models/background_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{cell_unit_spec.rb → models/cell_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{comment_unit_spec.rb → models/comment_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{directory_unit_spec.rb → models/directory_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{doc_string_unit_spec.rb → models/doc_string_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{example_unit_spec.rb → models/example_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{feature_file_unit_spec.rb → models/feature_file_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{feature_unit_spec.rb → models/feature_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{model_unit_spec.rb → models/model_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{outline_unit_spec.rb → models/outline_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{row_unit_spec.rb → models/row_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{scenario_unit_spec.rb → models/scenario_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{step_unit_spec.rb → models/step_unit_spec.rb} +2 -2
- data/testing/rspec/spec/unit/{table_unit_spec.rb → models/table_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/{tag_unit_spec.rb → models/tag_unit_spec.rb} +1 -1
- data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +102 -0
- data/todo.txt +5 -2
- metadata +80 -47
- data/History.md +0 -186
- data/testing/cucumber/support/transforms.rb +0 -3
- data/testing/rspec/spec/integration/step_integration_spec.rb +0 -459
data/lib/cuke_modeler/stepped.rb
CHANGED
data/lib/cuke_modeler/version.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
Feature: Step comparison
|
2
|
+
|
3
|
+
Step comparison using `==` is done based on 'significant' properties. Keywords, being completely interchangeable, do not affect step equality.
|
4
|
+
|
5
|
+
|
6
|
+
Scenario: Comparison of steps
|
7
|
+
Given a model for the following step:
|
8
|
+
"""
|
9
|
+
Given a step
|
10
|
+
"""
|
11
|
+
And a model for the following step:
|
12
|
+
"""
|
13
|
+
When a step
|
14
|
+
"""
|
15
|
+
And a model for the following step:
|
16
|
+
"""
|
17
|
+
Then a step
|
18
|
+
"""
|
19
|
+
When the models are compared
|
20
|
+
Then all of them are equivalent
|
21
|
+
But none of the models are equivalent with a model for the following step:
|
22
|
+
"""
|
23
|
+
And a step
|
24
|
+
| plus this table |
|
25
|
+
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Feature: Test comparison
|
2
2
|
|
3
|
-
Gherkin elements that contain steps (i.e. backgrounds, scenarios, and outlines) can be compared with one another in order to determine equality. Elements are considered equal if
|
3
|
+
Gherkin elements that contain steps (i.e. backgrounds, scenarios, and outlines) can be compared with one another in order to determine equality. Elements are considered equal if their steps match (see step comparison). Properties that do not affect what a test *does* (e.g. name, description, tags) are ignored for the purposes of comparison.
|
4
4
|
|
5
5
|
|
6
6
|
Scenario: Comparing tests
|
@@ -6,7 +6,7 @@ Given(/^a feature file model based on "([^"]*)"$/) do |file_name|
|
|
6
6
|
end
|
7
7
|
|
8
8
|
And(/^a feature file model based on that file$/) do |code_text|
|
9
|
-
code_text.gsub
|
9
|
+
code_text = code_text.gsub('<file_path>', "'#{@file_path}'")
|
10
10
|
|
11
11
|
eval(code_text)
|
12
12
|
end
|
@@ -13,13 +13,13 @@ When(/^the model is output as a string$/) do |code_text|
|
|
13
13
|
end
|
14
14
|
|
15
15
|
And(/^a(?:n)? \w+(?: \w+)? model based on that gherkin$/) do |code_text|
|
16
|
-
code_text.gsub
|
16
|
+
code_text = code_text.gsub('<source_text>', "'#{@source_text}'")
|
17
17
|
|
18
18
|
eval(code_text)
|
19
19
|
end
|
20
20
|
|
21
21
|
Given(/^(?:a|the) (?:directory|feature file) is modeled$/) do |code_text|
|
22
|
-
code_text.gsub
|
22
|
+
code_text = code_text.gsub('<path_to>', @root_test_directory)
|
23
23
|
|
24
24
|
eval(code_text)
|
25
25
|
end
|
@@ -42,3 +42,8 @@ Given(/^a model for the following outline:$/) do |gherkin_text|
|
|
42
42
|
@models ||= []
|
43
43
|
@models << CukeModeler::Outline.new(gherkin_text)
|
44
44
|
end
|
45
|
+
|
46
|
+
Given(/^a model for the following step:$/) do |gherkin_text|
|
47
|
+
@models ||= []
|
48
|
+
@models << CukeModeler::Step.new(gherkin_text)
|
49
|
+
end
|
@@ -12,7 +12,7 @@ Then(/^all of them can be output as text appropriate to the model type$/) do |co
|
|
12
12
|
end
|
13
13
|
|
14
14
|
Then(/^the following text is provided:$/) do |expected_text|
|
15
|
-
expected_text.sub
|
15
|
+
expected_text = expected_text.sub('<path_to>', @root_test_directory)
|
16
16
|
|
17
17
|
expect(@output).to eq(expected_text)
|
18
18
|
end
|
@@ -58,12 +58,13 @@ end
|
|
58
58
|
|
59
59
|
Then(/^the model returns "([^"]*)"$/) do |value|
|
60
60
|
value.gsub!('path_to', @root_test_directory) if value.is_a?(String)
|
61
|
+
value = value.to_i if value =~ /^\d+$/
|
61
62
|
|
62
63
|
expect(@result).to eq(value)
|
63
64
|
end
|
64
65
|
|
65
66
|
Then(/^the model returns$/) do |value|
|
66
|
-
value.gsub
|
67
|
+
value = value.gsub('path_to', @root_test_directory) if value.is_a?(String)
|
67
68
|
|
68
69
|
expect(@result).to eq(value)
|
69
70
|
end
|
@@ -165,6 +166,14 @@ But(/^none of the models are equivalent with a model for the following scenario:
|
|
165
166
|
end
|
166
167
|
end
|
167
168
|
|
169
|
+
But(/^none of the models are equivalent with a model for the following step:$/) do |gherkin_text|
|
170
|
+
model = CukeModeler::Step.new(gherkin_text)
|
171
|
+
|
172
|
+
@models.each do |other_model|
|
173
|
+
expect(model == other_model).to_not be true
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
168
177
|
Then(/^the model returns models for the following comments:$/) do |model_values|
|
169
178
|
model_values = model_values.raw.flatten
|
170
179
|
|
data/testing/file_helper.rb
CHANGED
@@ -7,13 +7,21 @@ gem "gherkin", "~> 2.0"
|
|
7
7
|
|
8
8
|
if RUBY_VERSION =~ /^1\./
|
9
9
|
|
10
|
+
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
11
|
+
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
12
|
+
end
|
13
|
+
|
14
|
+
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
10
15
|
gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
|
11
16
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
12
17
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
13
18
|
|
14
19
|
if RUBY_VERSION =~ /^1\.8/
|
15
20
|
gem 'cucumber', '~> 1.0' # Ruby 1.8.x support dropped after this version
|
21
|
+
gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
|
16
22
|
gem 'rake', '< 11.0' # Ruby 1.8.x support dropped after this version
|
23
|
+
else
|
24
|
+
gem 'rake', '< 12.3.0' # Ruby 1.9.x support dropped after this version
|
17
25
|
end
|
18
26
|
|
19
27
|
elsif RUBY_VERSION =~ /^2\./
|
@@ -7,9 +7,15 @@ gem "gherkin", "~> 3.0"
|
|
7
7
|
|
8
8
|
if RUBY_VERSION =~ /^1\./
|
9
9
|
|
10
|
+
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
11
|
+
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
12
|
+
end
|
13
|
+
|
14
|
+
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
10
15
|
gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
|
11
16
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
12
17
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
18
|
+
gem 'rake', '< 12.3.0' # Ruby 1.9.x support dropped after this version
|
13
19
|
|
14
20
|
elsif RUBY_VERSION =~ /^2\./
|
15
21
|
|
@@ -7,9 +7,16 @@ gem "gherkin", "~> 4.0"
|
|
7
7
|
|
8
8
|
if RUBY_VERSION =~ /^1\./
|
9
9
|
|
10
|
+
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
11
|
+
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
12
|
+
end
|
13
|
+
|
14
|
+
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
10
15
|
gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
|
11
16
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
12
17
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
18
|
+
gem 'rake', '< 12.3.0' # Ruby 1.9.x support dropped after this version
|
19
|
+
gem 'cucumber', '< 3.0.0' # Ruby 1.9.x support dropped after this version
|
13
20
|
|
14
21
|
elsif RUBY_VERSION =~ /^2\./
|
15
22
|
|
@@ -7,9 +7,16 @@ gem "gherkin", "~> 5.0"
|
|
7
7
|
|
8
8
|
if RUBY_VERSION =~ /^1\./
|
9
9
|
|
10
|
+
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
11
|
+
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
12
|
+
end
|
13
|
+
|
14
|
+
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
10
15
|
gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
|
11
16
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
12
17
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
18
|
+
gem 'rake', '< 12.3.0' # Ruby 1.9.x support dropped after this version
|
19
|
+
gem 'cucumber-core', '< 3.0.0' # Ruby 1.9.x support dropped after this version
|
13
20
|
|
14
21
|
elsif RUBY_VERSION =~ /^2\./
|
15
22
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module CukeModeler
|
2
|
+
module HelperMethods
|
3
|
+
|
4
|
+
def assert_bidirectional_equality(base_thing, compared_thing)
|
5
|
+
expect(base_thing).to eq(compared_thing)
|
6
|
+
expect(compared_thing).to eq(base_thing)
|
7
|
+
end
|
8
|
+
|
9
|
+
def assert_bidirectional_inequality(base_thing, compared_thing)
|
10
|
+
expect(base_thing).to_not eq(compared_thing)
|
11
|
+
expect(compared_thing).to_not eq(base_thing)
|
12
|
+
end
|
13
|
+
|
14
|
+
def gherkin?(*versions)
|
15
|
+
versions.include?(gherkin_major_version)
|
16
|
+
end
|
17
|
+
|
18
|
+
def gherkin_major_version
|
19
|
+
Gem.loaded_specs['gherkin'].version.version.match(/^(\d+)\./)[1].to_i
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
data/testing/rspec/spec/integration/{gherkin_2_adapter_spec.rb → adapters/gherkin_2_adapter_spec.rb}
RENAMED
@@ -1,56 +1,56 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}
|
1
|
+
require "#{File.dirname(__FILE__)}/../../spec_helper"
|
2
2
|
|
3
3
|
|
4
|
-
describe 'Gherkin2Adapter, Integration', :
|
4
|
+
describe 'Gherkin2Adapter, Integration', :if => gherkin?(2) do
|
5
5
|
|
6
6
|
let(:clazz) { CukeModeler::Gherkin2Adapter }
|
7
7
|
let(:adapter) { clazz.new }
|
8
8
|
let(:source_text) { "# feature comment
|
9
9
|
@tag1 @tag2 @tag3
|
10
|
-
#{
|
10
|
+
#{FEATURE_KEYWORD}: A feature with everything it could have
|
11
11
|
|
12
12
|
Including a description
|
13
13
|
and then some.
|
14
14
|
|
15
15
|
# background comment
|
16
|
-
#{
|
16
|
+
#{BACKGROUND_KEYWORD}:
|
17
17
|
|
18
18
|
Background
|
19
19
|
description
|
20
20
|
|
21
|
-
#{
|
21
|
+
#{STEP_KEYWORD} a step
|
22
22
|
# table comment
|
23
23
|
| value1 |
|
24
24
|
# table row comment
|
25
25
|
| value2 |
|
26
|
-
#{
|
26
|
+
#{STEP_KEYWORD} another step
|
27
27
|
|
28
28
|
# scenario comment
|
29
29
|
@scenario_tag
|
30
|
-
#{
|
30
|
+
#{SCENARIO_KEYWORD}:
|
31
31
|
|
32
32
|
Scenario
|
33
33
|
description
|
34
34
|
|
35
|
-
#{
|
36
|
-
#{
|
35
|
+
#{STEP_KEYWORD} a step
|
36
|
+
#{STEP_KEYWORD} another step
|
37
37
|
\"\"\"
|
38
38
|
some text
|
39
39
|
\"\"\"
|
40
40
|
|
41
41
|
# outline comment
|
42
42
|
@outline_tag
|
43
|
-
#{
|
43
|
+
#{OUTLINE_KEYWORD}:
|
44
44
|
|
45
45
|
Outline
|
46
46
|
description
|
47
47
|
|
48
48
|
# step comment
|
49
|
-
#{
|
49
|
+
#{STEP_KEYWORD} a step
|
50
50
|
# table comment
|
51
51
|
| value2 |
|
52
52
|
# step comment
|
53
|
-
#{
|
53
|
+
#{STEP_KEYWORD} another step
|
54
54
|
# doc string comment
|
55
55
|
\"\"\"
|
56
56
|
some text
|
@@ -58,7 +58,7 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
58
58
|
|
59
59
|
# example comment
|
60
60
|
@example_tag
|
61
|
-
#{
|
61
|
+
#{EXAMPLE_KEYWORD}:
|
62
62
|
|
63
63
|
Example
|
64
64
|
description
|
data/testing/rspec/spec/integration/{gherkin_3_adapter_spec.rb → adapters/gherkin_3_adapter_spec.rb}
RENAMED
@@ -1,56 +1,56 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}
|
1
|
+
require "#{File.dirname(__FILE__)}/../../spec_helper"
|
2
2
|
|
3
3
|
|
4
|
-
describe 'Gherkin3Adapter, Integration', :
|
4
|
+
describe 'Gherkin3Adapter, Integration', :if => gherkin?(3) do
|
5
5
|
|
6
6
|
let(:clazz) { CukeModeler::Gherkin3Adapter }
|
7
7
|
let(:adapter) { clazz.new }
|
8
8
|
let(:source_text) { "# feature comment
|
9
9
|
@tag1 @tag2 @tag3
|
10
|
-
#{
|
10
|
+
#{FEATURE_KEYWORD}: A feature with everything it could have
|
11
11
|
|
12
12
|
Including a description
|
13
13
|
and then some.
|
14
14
|
|
15
15
|
# background comment
|
16
|
-
#{
|
16
|
+
#{BACKGROUND_KEYWORD}:
|
17
17
|
|
18
18
|
Background
|
19
19
|
description
|
20
20
|
|
21
|
-
#{
|
21
|
+
#{STEP_KEYWORD} a step
|
22
22
|
# table comment
|
23
23
|
| value1 |
|
24
24
|
# table row comment
|
25
25
|
| value2 |
|
26
|
-
#{
|
26
|
+
#{STEP_KEYWORD} another step
|
27
27
|
|
28
28
|
# scenario comment
|
29
29
|
@scenario_tag
|
30
|
-
#{
|
30
|
+
#{SCENARIO_KEYWORD}:
|
31
31
|
|
32
32
|
Scenario
|
33
33
|
description
|
34
34
|
|
35
|
-
#{
|
36
|
-
#{
|
35
|
+
#{STEP_KEYWORD} a step
|
36
|
+
#{STEP_KEYWORD} another step
|
37
37
|
\"\"\"
|
38
38
|
some text
|
39
39
|
\"\"\"
|
40
40
|
|
41
41
|
# outline comment
|
42
42
|
@outline_tag
|
43
|
-
#{
|
43
|
+
#{OUTLINE_KEYWORD}:
|
44
44
|
|
45
45
|
Outline
|
46
46
|
description
|
47
47
|
|
48
48
|
# step comment
|
49
|
-
#{
|
49
|
+
#{STEP_KEYWORD} a step
|
50
50
|
# table comment
|
51
51
|
| value2 |
|
52
52
|
# step comment
|
53
|
-
#{
|
53
|
+
#{STEP_KEYWORD} another step
|
54
54
|
# doc string comment
|
55
55
|
\"\"\"
|
56
56
|
some text
|
@@ -58,7 +58,7 @@ describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
|
|
58
58
|
|
59
59
|
# example comment
|
60
60
|
@example_tag
|
61
|
-
#{
|
61
|
+
#{EXAMPLE_KEYWORD}:
|
62
62
|
|
63
63
|
Example
|
64
64
|
description
|