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.
Files changed (90) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +60 -17
  3. data/CHANGELOG.md +312 -0
  4. data/Gemfile +19 -3
  5. data/LICENSE.txt +1 -1
  6. data/README.md +17 -7
  7. data/Rakefile +45 -28
  8. data/appveyor.yml +57 -17
  9. data/cuke_modeler.gemspec +6 -3
  10. data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +1 -0
  11. data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +1 -0
  12. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +2 -1
  13. data/lib/cuke_modeler/adapters/gherkin_5_adapter.rb +12 -0
  14. data/lib/cuke_modeler/adapters/gherkin_6_adapter.rb +310 -0
  15. data/lib/cuke_modeler/adapters/gherkin_7_adapter.rb +307 -0
  16. data/lib/cuke_modeler/adapters/gherkin_8_adapter.rb +12 -0
  17. data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +12 -0
  18. data/lib/cuke_modeler/containing.rb +16 -0
  19. data/lib/cuke_modeler/described.rb +1 -0
  20. data/lib/cuke_modeler/models/step.rb +31 -2
  21. data/lib/cuke_modeler/named.rb +1 -0
  22. data/lib/cuke_modeler/nested.rb +1 -0
  23. data/lib/cuke_modeler/parsed.rb +1 -0
  24. data/lib/cuke_modeler/parsing.rb +116 -68
  25. data/lib/cuke_modeler/sourceable.rb +1 -0
  26. data/lib/cuke_modeler/stepped.rb +1 -0
  27. data/lib/cuke_modeler/taggable.rb +1 -0
  28. data/lib/cuke_modeler/version.rb +1 -1
  29. data/testing/cucumber/features/analysis/step_comparison.feature +25 -0
  30. data/testing/cucumber/features/analysis/test_comparison.feature +1 -1
  31. data/testing/cucumber/step_definitions/feature_file_steps.rb +1 -1
  32. data/testing/cucumber/step_definitions/modeling_steps.rb +7 -2
  33. data/testing/cucumber/step_definitions/verification_steps.rb +11 -2
  34. data/testing/file_helper.rb +3 -0
  35. data/testing/gemfiles/gherkin2.gemfile +8 -0
  36. data/testing/gemfiles/gherkin3.gemfile +6 -0
  37. data/testing/gemfiles/gherkin4.gemfile +7 -0
  38. data/testing/gemfiles/gherkin5.gemfile +7 -0
  39. data/testing/gemfiles/gherkin6.gemfile +10 -0
  40. data/testing/gemfiles/gherkin7.gemfile +9 -0
  41. data/testing/gemfiles/gherkin8.gemfile +9 -0
  42. data/testing/gemfiles/gherkin9.gemfile +9 -0
  43. data/testing/helper_methods.rb +23 -0
  44. data/testing/rspec/spec/integration/{gherkin_2_adapter_spec.rb → adapters/gherkin_2_adapter_spec.rb} +13 -13
  45. data/testing/rspec/spec/integration/{gherkin_3_adapter_spec.rb → adapters/gherkin_3_adapter_spec.rb} +13 -13
  46. data/testing/rspec/spec/integration/{gherkin_4_adapter_spec.rb → adapters/gherkin_4_adapter_spec.rb} +13 -13
  47. data/testing/rspec/spec/integration/adapters/gherkin_5_adapter_spec.rb +165 -0
  48. data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +159 -0
  49. data/testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb +162 -0
  50. data/testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb +162 -0
  51. data/testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb +162 -0
  52. data/testing/rspec/spec/integration/{background_integration_spec.rb → models/background_integration_spec.rb} +90 -86
  53. data/testing/rspec/spec/integration/{cell_integration_spec.rb → models/cell_integration_spec.rb} +49 -38
  54. data/testing/rspec/spec/integration/{comment_integration_spec.rb → models/comment_integration_spec.rb} +31 -20
  55. data/testing/rspec/spec/integration/{directory_integration_spec.rb → models/directory_integration_spec.rb} +3 -3
  56. data/testing/rspec/spec/integration/{doc_string_integration_spec.rb → models/doc_string_integration_spec.rb} +39 -35
  57. data/testing/rspec/spec/integration/{example_integration_spec.rb → models/example_integration_spec.rb} +109 -83
  58. data/testing/rspec/spec/integration/{feature_file_integration_spec.rb → models/feature_file_integration_spec.rb} +52 -38
  59. data/testing/rspec/spec/integration/{feature_integration_spec.rb → models/feature_integration_spec.rb} +125 -112
  60. data/testing/rspec/spec/integration/{model_integration_spec.rb → models/model_integration_spec.rb} +1 -1
  61. data/testing/rspec/spec/integration/{outline_integration_spec.rb → models/outline_integration_spec.rb} +138 -129
  62. data/testing/rspec/spec/integration/{row_integration_spec.rb → models/row_integration_spec.rb} +55 -35
  63. data/testing/rspec/spec/integration/{scenario_integration_spec.rb → models/scenario_integration_spec.rb} +92 -88
  64. data/testing/rspec/spec/integration/models/step_integration_spec.rb +573 -0
  65. data/testing/rspec/spec/integration/{table_integration_spec.rb → models/table_integration_spec.rb} +38 -34
  66. data/testing/rspec/spec/integration/{tag_integration_spec.rb → models/tag_integration_spec.rb} +56 -36
  67. data/testing/rspec/spec/integration/parsing_integration_spec.rb +45 -7
  68. data/testing/rspec/spec/spec_helper.rb +79 -43
  69. data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +25 -0
  70. data/testing/rspec/spec/unit/{background_unit_spec.rb → models/background_unit_spec.rb} +1 -1
  71. data/testing/rspec/spec/unit/{cell_unit_spec.rb → models/cell_unit_spec.rb} +1 -1
  72. data/testing/rspec/spec/unit/{comment_unit_spec.rb → models/comment_unit_spec.rb} +1 -1
  73. data/testing/rspec/spec/unit/{directory_unit_spec.rb → models/directory_unit_spec.rb} +1 -1
  74. data/testing/rspec/spec/unit/{doc_string_unit_spec.rb → models/doc_string_unit_spec.rb} +1 -1
  75. data/testing/rspec/spec/unit/{example_unit_spec.rb → models/example_unit_spec.rb} +1 -1
  76. data/testing/rspec/spec/unit/{feature_file_unit_spec.rb → models/feature_file_unit_spec.rb} +1 -1
  77. data/testing/rspec/spec/unit/{feature_unit_spec.rb → models/feature_unit_spec.rb} +1 -1
  78. data/testing/rspec/spec/unit/{model_unit_spec.rb → models/model_unit_spec.rb} +1 -1
  79. data/testing/rspec/spec/unit/{outline_unit_spec.rb → models/outline_unit_spec.rb} +1 -1
  80. data/testing/rspec/spec/unit/{row_unit_spec.rb → models/row_unit_spec.rb} +1 -1
  81. data/testing/rspec/spec/unit/{scenario_unit_spec.rb → models/scenario_unit_spec.rb} +1 -1
  82. data/testing/rspec/spec/unit/{step_unit_spec.rb → models/step_unit_spec.rb} +2 -2
  83. data/testing/rspec/spec/unit/{table_unit_spec.rb → models/table_unit_spec.rb} +1 -1
  84. data/testing/rspec/spec/unit/{tag_unit_spec.rb → models/tag_unit_spec.rb} +1 -1
  85. data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +102 -0
  86. data/todo.txt +5 -2
  87. metadata +80 -47
  88. data/History.md +0 -186
  89. data/testing/cucumber/support/transforms.rb +0 -3
  90. data/testing/rspec/spec/integration/step_integration_spec.rb +0 -459
@@ -1,5 +1,6 @@
1
1
  module CukeModeler
2
2
 
3
+ # NOT A PART OF THE PUBLIC API
3
4
  # A mix-in module containing methods used by models that know from which line of
4
5
  # source code they originate.
5
6
 
@@ -1,5 +1,6 @@
1
1
  module CukeModeler
2
2
 
3
+ # NOT A PART OF THE PUBLIC API
3
4
  # A mix-in module containing methods used by models that represent an element that has steps.
4
5
 
5
6
  module Stepped
@@ -1,5 +1,6 @@
1
1
  module CukeModeler
2
2
 
3
+ # NOT A PART OF THE PUBLIC API
3
4
  # A mix-in module containing methods used by models that represent an element that can be tagged.
4
5
 
5
6
  module Taggable
@@ -1,4 +1,4 @@
1
1
  module CukeModeler
2
2
  # The gem version
3
- VERSION = '1.3.0'
3
+ VERSION = '2.1.0'
4
4
  end
@@ -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 the base text of their steps match. That is, the keyword used for the step and any table or doc string that may be associated with that step are ignored for the purposes of comparison.
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!('<file_path>', "'#{@file_path}'")
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!('<source_text>', "'#{@source_text}'")
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!('<path_to>', @root_test_directory)
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!('<path_to>', @root_test_directory)
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!('path_to', @root_test_directory) if value.is_a?(String)
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
 
@@ -1,3 +1,6 @@
1
+ require 'tmpdir'
2
+
3
+
1
4
  module CukeModeler
2
5
  module FileHelper
3
6
 
@@ -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,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ gem "gherkin", "~> 6.0"
6
+ gem 'cucumber', '~>4.0.rc' # TODO: Upgrade to Cucumber 4.0 when it is finally released
7
+
8
+ if RUBY_VERSION =~ /^2\.[23456789]/
9
+ gem 'test-unit'
10
+ end
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ gem "gherkin", "~> 7.0"
6
+
7
+ if RUBY_VERSION =~ /^2\.[23456789]/
8
+ gem 'test-unit'
9
+ end
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ gem "gherkin", "~> 8.0"
6
+
7
+ if RUBY_VERSION =~ /^2\.[23456789]/
8
+ gem 'test-unit'
9
+ end
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ gem "gherkin", "~> 9.0"
6
+
7
+ if RUBY_VERSION =~ /^2\.[23456789]/
8
+ gem 'test-unit'
9
+ end
@@ -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
@@ -1,56 +1,56 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require "#{File.dirname(__FILE__)}/../../spec_helper"
2
2
 
3
3
 
4
- describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
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
- #{@feature_keyword}: A feature with everything it could have
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
- #{@background_keyword}:
16
+ #{BACKGROUND_KEYWORD}:
17
17
 
18
18
  Background
19
19
  description
20
20
 
21
- #{@step_keyword} a step
21
+ #{STEP_KEYWORD} a step
22
22
  # table comment
23
23
  | value1 |
24
24
  # table row comment
25
25
  | value2 |
26
- #{@step_keyword} another step
26
+ #{STEP_KEYWORD} another step
27
27
 
28
28
  # scenario comment
29
29
  @scenario_tag
30
- #{@scenario_keyword}:
30
+ #{SCENARIO_KEYWORD}:
31
31
 
32
32
  Scenario
33
33
  description
34
34
 
35
- #{@step_keyword} a step
36
- #{@step_keyword} another step
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
- #{@outline_keyword}:
43
+ #{OUTLINE_KEYWORD}:
44
44
 
45
45
  Outline
46
46
  description
47
47
 
48
48
  # step comment
49
- #{@step_keyword} a step
49
+ #{STEP_KEYWORD} a step
50
50
  # table comment
51
51
  | value2 |
52
52
  # step comment
53
- #{@step_keyword} another step
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
- #{@example_keyword}:
61
+ #{EXAMPLE_KEYWORD}:
62
62
 
63
63
  Example
64
64
  description
@@ -1,56 +1,56 @@
1
- require "#{File.dirname(__FILE__)}/../spec_helper"
1
+ require "#{File.dirname(__FILE__)}/../../spec_helper"
2
2
 
3
3
 
4
- describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
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
- #{@feature_keyword}: A feature with everything it could have
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
- #{@background_keyword}:
16
+ #{BACKGROUND_KEYWORD}:
17
17
 
18
18
  Background
19
19
  description
20
20
 
21
- #{@step_keyword} a step
21
+ #{STEP_KEYWORD} a step
22
22
  # table comment
23
23
  | value1 |
24
24
  # table row comment
25
25
  | value2 |
26
- #{@step_keyword} another step
26
+ #{STEP_KEYWORD} another step
27
27
 
28
28
  # scenario comment
29
29
  @scenario_tag
30
- #{@scenario_keyword}:
30
+ #{SCENARIO_KEYWORD}:
31
31
 
32
32
  Scenario
33
33
  description
34
34
 
35
- #{@step_keyword} a step
36
- #{@step_keyword} another step
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
- #{@outline_keyword}:
43
+ #{OUTLINE_KEYWORD}:
44
44
 
45
45
  Outline
46
46
  description
47
47
 
48
48
  # step comment
49
- #{@step_keyword} a step
49
+ #{STEP_KEYWORD} a step
50
50
  # table comment
51
51
  | value2 |
52
52
  # step comment
53
- #{@step_keyword} another step
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
- #{@example_keyword}:
61
+ #{EXAMPLE_KEYWORD}:
62
62
 
63
63
  Example
64
64
  description