cuke_modeler 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +1 -2
  3. data/.travis.yml +4 -3
  4. data/Gemfile +1 -1
  5. data/History.md +5 -0
  6. data/README.md +2 -1
  7. data/Rakefile +19 -0
  8. data/appveyor.yml +19 -18
  9. data/cuke_modeler.gemspec +1 -1
  10. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +1 -1
  11. data/lib/cuke_modeler/parsing.rb +1 -1
  12. data/lib/cuke_modeler/version.rb +1 -1
  13. data/testing/cucumber/features/analysis/test_comparison.feature +1 -4
  14. data/testing/cucumber/features/modeling/background_modeling.feature +1 -2
  15. data/testing/cucumber/features/modeling/background_output.feature +1 -2
  16. data/testing/cucumber/features/modeling/cell_modeling.feature +1 -2
  17. data/testing/cucumber/features/modeling/comment_modeling.feature +1 -2
  18. data/testing/cucumber/features/modeling/comment_output.feature +1 -2
  19. data/testing/cucumber/features/modeling/directory_modeling.feature +1 -4
  20. data/testing/cucumber/features/modeling/directory_output.feature +1 -2
  21. data/testing/cucumber/features/modeling/doc_string_modeling.feature +1 -3
  22. data/testing/cucumber/features/modeling/doc_string_output.feature +1 -2
  23. data/testing/cucumber/features/modeling/example_modeling.feature +1 -3
  24. data/testing/cucumber/features/modeling/example_output.feature +1 -2
  25. data/testing/cucumber/features/modeling/feature_file_modeling.feature +1 -3
  26. data/testing/cucumber/features/modeling/feature_file_output.feature +1 -2
  27. data/testing/cucumber/features/modeling/feature_modeling.feature +2 -5
  28. data/testing/cucumber/features/modeling/feature_output.feature +1 -2
  29. data/testing/cucumber/features/modeling/model_output.feature +1 -3
  30. data/testing/cucumber/features/modeling/model_structure.feature +3 -9
  31. data/testing/cucumber/features/modeling/outline_modeling.feature +1 -2
  32. data/testing/cucumber/features/modeling/outline_output.feature +1 -2
  33. data/testing/cucumber/features/modeling/row_modeling.feature +1 -2
  34. data/testing/cucumber/features/modeling/row_output.feature +1 -2
  35. data/testing/cucumber/features/modeling/scenario_modeling.feature +1 -2
  36. data/testing/cucumber/features/modeling/scenario_output.feature +1 -2
  37. data/testing/cucumber/features/modeling/step_modeling.feature +1 -2
  38. data/testing/cucumber/features/modeling/step_output.feature +1 -2
  39. data/testing/cucumber/features/modeling/table_modeling.feature +1 -2
  40. data/testing/cucumber/features/modeling/table_output.feature +1 -2
  41. data/testing/cucumber/features/modeling/tag_modeling.feature +1 -2
  42. data/testing/cucumber/features/modeling/tag_output.feature +1 -2
  43. data/testing/cucumber/step_definitions/directory_steps.rb +1 -1
  44. data/testing/cucumber/step_definitions/feature_file_steps.rb +1 -1
  45. data/testing/cucumber/step_definitions/modeling_steps.rb +1 -1
  46. data/testing/cucumber/step_definitions/setup_steps.rb +4 -6
  47. data/testing/cucumber/step_definitions/verification_steps.rb +3 -3
  48. data/testing/cucumber/support/env.rb +7 -14
  49. data/testing/file_helper.rb +44 -0
  50. data/testing/gemfiles/gherkin5.gemfile +20 -0
  51. data/testing/rspec/spec/integration/background_integration_spec.rb +17 -15
  52. data/testing/rspec/spec/integration/cell_integration_spec.rb +69 -79
  53. data/testing/rspec/spec/integration/comment_integration_spec.rb +16 -15
  54. data/testing/rspec/spec/integration/directory_integration_spec.rb +46 -55
  55. data/testing/rspec/spec/integration/doc_string_integration_spec.rb +73 -80
  56. data/testing/rspec/spec/integration/example_integration_spec.rb +53 -36
  57. data/testing/rspec/spec/integration/feature_file_integration_spec.rb +27 -42
  58. data/testing/rspec/spec/integration/feature_integration_spec.rb +12 -11
  59. data/testing/rspec/spec/integration/gherkin_2_adapter_spec.rb +14 -16
  60. data/testing/rspec/spec/integration/gherkin_3_adapter_spec.rb +14 -16
  61. data/testing/rspec/spec/integration/gherkin_4_adapter_spec.rb +14 -16
  62. data/testing/rspec/spec/integration/outline_integration_spec.rb +20 -18
  63. data/testing/rspec/spec/integration/parsing_integration_spec.rb +1 -1
  64. data/testing/rspec/spec/integration/row_integration_spec.rb +57 -64
  65. data/testing/rspec/spec/integration/scenario_integration_spec.rb +17 -15
  66. data/testing/rspec/spec/integration/step_integration_spec.rb +48 -55
  67. data/testing/rspec/spec/integration/table_integration_spec.rb +54 -61
  68. data/testing/rspec/spec/integration/tag_integration_spec.rb +61 -67
  69. data/testing/rspec/spec/spec_helper.rb +5 -16
  70. data/testing/rspec/spec/unit/background_unit_spec.rb +0 -5
  71. data/testing/rspec/spec/unit/cell_unit_spec.rb +0 -5
  72. data/testing/rspec/spec/unit/comment_unit_spec.rb +0 -6
  73. data/testing/rspec/spec/unit/directory_unit_spec.rb +0 -5
  74. data/testing/rspec/spec/unit/doc_string_unit_spec.rb +0 -5
  75. data/testing/rspec/spec/unit/example_unit_spec.rb +0 -5
  76. data/testing/rspec/spec/unit/feature_file_unit_spec.rb +0 -5
  77. data/testing/rspec/spec/unit/feature_unit_spec.rb +0 -5
  78. data/testing/rspec/spec/unit/outline_unit_spec.rb +0 -5
  79. data/testing/rspec/spec/unit/row_unit_spec.rb +0 -5
  80. data/testing/rspec/spec/unit/scenario_unit_spec.rb +0 -5
  81. data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +1 -1
  82. data/testing/rspec/spec/unit/step_unit_spec.rb +0 -5
  83. data/testing/rspec/spec/unit/table_unit_spec.rb +0 -5
  84. data/testing/rspec/spec/unit/tag_unit_spec.rb +0 -5
  85. data/todo.txt +0 -4
  86. metadata +6 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4779a73d0414df470da374597d5a5db928e9f1fd
4
- data.tar.gz: fd1e0ab88380b774e1301789d50a89cce58716e8
3
+ metadata.gz: 6f6ce507c3e4cce81b178759608f8421995acb33
4
+ data.tar.gz: 28e38d785382112db34e4bd8ad21c2ab2d520fb2
5
5
  SHA512:
6
- metadata.gz: '029706fe40a199ddb8b12c90de6c61b61576afab23c29603b43524f22b88c6d4373b52aa059f34f2a495c11f8f787956785684a5145ed5ac0f3dc2ff0bc994a8'
7
- data.tar.gz: 3e41b0e4310907be62af428dcdc4e511ee783aa82e4aae93f5ec4977cc7724400ba83911b0b2ca5af65a2716e1391750c86e17d2cdda1f2b305a42247112a91a
6
+ metadata.gz: 6468b515b7f55540cf96319c3862ef04d7560b583294a694c71a3077becc915516465dec013e414c24d05b6fe8cfa0ef37844b4eab23dc1f62068b876b0fa17c
7
+ data.tar.gz: c636a5d624e5ad31be581134f0429bf63cd2d52bbef6a0278c5484ac8a2d0e18519e0d372051d5de44f4a012959dd7d93801559eda4f693e44247b779dd0c210
data/.simplecov CHANGED
@@ -1,8 +1,7 @@
1
1
  SimpleCov.start do
2
2
  root File.dirname(__FILE__)
3
3
 
4
- add_filter '/features/'
5
- add_filter '/spec/'
4
+ add_filter '/testing/'
6
5
 
7
6
  merge_timeout 300
8
7
  end
data/.travis.yml CHANGED
@@ -6,9 +6,6 @@ language: ruby
6
6
  rvm:
7
7
  - 1.8.7
8
8
  - 1.9.3
9
- - 2.0.0
10
- - 2.1.6
11
- - 2.2.2
12
9
  - 2.3.3
13
10
  - 2.4.0
14
11
  - jruby-9.1.7.0
@@ -17,6 +14,7 @@ gemfile:
17
14
  - testing/gemfiles/gherkin2.gemfile
18
15
  - testing/gemfiles/gherkin3.gemfile
19
16
  - testing/gemfiles/gherkin4.gemfile
17
+ - testing/gemfiles/gherkin5.gemfile
20
18
 
21
19
  matrix:
22
20
  exclude:
@@ -26,6 +24,9 @@ matrix:
26
24
  # gherkin 4.x does not work with Ruby 1.8.x
27
25
  - rvm: 1.8.7
28
26
  gemfile: testing/gemfiles/gherkin4.gemfile
27
+ # gherkin 5.x does not work with Ruby 1.8.x
28
+ - rvm: 1.8.7
29
+ gemfile: testing/gemfiles/gherkin5.gemfile
29
30
  # Travis does not provide 1.8.7 on OSX
30
31
  - rvm: 1.8.7
31
32
  os: osx
data/Gemfile CHANGED
@@ -23,6 +23,6 @@ elsif RUBY_VERSION =~ /^2\./
23
23
  gem 'test-unit'
24
24
  end
25
25
 
26
- gem 'gherkin', '~> 4.0'
26
+ gem 'gherkin', '~> 5.0'
27
27
 
28
28
  end
data/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### Version 1.3.0 / 2017-10-19
2
+
3
+ * Now compatible with Gherkin 5.x.
4
+
5
+
1
6
  ### Version 1.2.1 / 2017-04-25
2
7
 
3
8
  * Now officially compatible with Rake 12.x.
data/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  [![Build Status](https://travis-ci.org/enkessler/cuke_modeler.svg?branch=dev)](https://travis-ci.org/enkessler/cuke_modeler)
4
4
  [![Build status](https://ci.appveyor.com/api/projects/status/is8xqvoqn3pjh9l0/branch/dev?svg=true)](https://ci.appveyor.com/project/enkessler/cuke-modeler/branch/dev)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_modeler/badge.svg?branch=dev)](https://coveralls.io/github/enkessler/cuke_modeler?branch=dev)
6
- [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)
6
+ [![Code Quality](https://codeclimate.com/github/enkessler/cuke_modeler/badges/gpa.svg)](https://codeclimate.com/github/enkessler/cuke_modeler)
7
+ [![Project License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/mit-license.php)
7
8
 
8
9
 
9
10
  # CukeModeler
data/Rakefile CHANGED
@@ -31,6 +31,25 @@ namespace 'cuke_modeler' do
31
31
  Rake::Task['cuke_modeler:test_everything'].invoke(rspec_args, cucumber_args)
32
32
  end
33
33
 
34
+
35
+ # The task used to publish the current feature file documentation to Relish
36
+ desc 'Publish feature files to Relish'
37
+ task :publish_features do
38
+ # Get existing versions
39
+ this_dir = File.dirname(__FILE__)
40
+ output = `relish versions enkessler/CukeModeler`
41
+
42
+ # Add the current version if it doesn't exist
43
+ unless output =~ /#{Regexp.escape(CukeModeler::VERSION)}/
44
+ output = `relish versions:add enkessler/CukeModeler:#{CukeModeler::VERSION}`
45
+ puts output
46
+ end
47
+
48
+ # Publish the features
49
+ output = `relish push enkessler/CukeModeler:#{CukeModeler::VERSION} path #{this_dir}/testing/cucumber`
50
+ puts output
51
+ end
52
+
34
53
  end
35
54
 
36
55
 
data/appveyor.yml CHANGED
@@ -2,35 +2,36 @@ version: '1.0.{build}'
2
2
 
3
3
  environment:
4
4
  matrix:
5
- - RUBY_VERSION: 187-x64
5
+ - RUBY_VERSION: 193
6
6
  BUNDLE_GEMFILE: testing/gemfiles/gherkin2.gemfile
7
- - RUBY_VERSION: 193-x64
8
- BUNDLE_GEMFILE: testing/gemfiles/gherkin2.gemfile
9
- - RUBY_VERSION: 200-x64
10
- BUNDLE_GEMFILE: testing/gemfiles/gherkin2.gemfile
11
- - RUBY_VERSION: 21-x64
12
- BUNDLE_GEMFILE: testing/gemfiles/gherkin2.gemfile
13
- - RUBY_VERSION: 22-x64
7
+ # AppVeyor does not have a 64-bit Ruby 1.9.3
8
+ # Gherkin 2.x does not appear to support 32-bit Ruby 2.x and it's not worth it to investigate if this is true or not
9
+ - RUBY_VERSION: 23-x64
14
10
  BUNDLE_GEMFILE: testing/gemfiles/gherkin2.gemfile
15
11
 
16
- - RUBY_VERSION: 193-x64
12
+ - RUBY_VERSION: 193
17
13
  BUNDLE_GEMFILE: testing/gemfiles/gherkin3.gemfile
18
- - RUBY_VERSION: 200-x64
14
+ # AppVeyor does not have a 64-bit Ruby 1.9.3
15
+ - RUBY_VERSION: 23
19
16
  BUNDLE_GEMFILE: testing/gemfiles/gherkin3.gemfile
20
- - RUBY_VERSION: 21-x64
21
- BUNDLE_GEMFILE: testing/gemfiles/gherkin3.gemfile
22
- - RUBY_VERSION: 22-x64
17
+ - RUBY_VERSION: 23-x64
23
18
  BUNDLE_GEMFILE: testing/gemfiles/gherkin3.gemfile
24
19
 
25
- - RUBY_VERSION: 193-x64
26
- BUNDLE_GEMFILE: testing/gemfiles/gherkin4.gemfile
27
- - RUBY_VERSION: 200-x64
20
+ - RUBY_VERSION: 193
28
21
  BUNDLE_GEMFILE: testing/gemfiles/gherkin4.gemfile
29
- - RUBY_VERSION: 21-x64
22
+ # AppVeyor does not have a 64-bit Ruby 1.9.3
23
+ - RUBY_VERSION: 23
30
24
  BUNDLE_GEMFILE: testing/gemfiles/gherkin4.gemfile
31
- - RUBY_VERSION: 22-x64
25
+ - RUBY_VERSION: 23-x64
32
26
  BUNDLE_GEMFILE: testing/gemfiles/gherkin4.gemfile
33
27
 
28
+ - RUBY_VERSION: 193
29
+ BUNDLE_GEMFILE: testing/gemfiles/gherkin5.gemfile
30
+ # AppVeyor does not have a 64-bit Ruby 1.9.3
31
+ - RUBY_VERSION: 23
32
+ BUNDLE_GEMFILE: testing/gemfiles/gherkin5.gemfile
33
+ - RUBY_VERSION: 23-x64
34
+ BUNDLE_GEMFILE: testing/gemfiles/gherkin5.gemfile
34
35
 
35
36
  install:
36
37
  - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
data/cuke_modeler.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency 'gherkin', '< 5.0'
21
+ spec.add_runtime_dependency 'gherkin', '< 6.0'
22
22
  spec.add_runtime_dependency('json', '>= 1.0', '< 3.0')
23
23
  spec.add_runtime_dependency('multi_json', '~> 1.0')
24
24
 
@@ -1,6 +1,6 @@
1
1
  module CukeModeler
2
2
 
3
- # An adapter that can convert the output of version 4.x of the *gherkin* gem into input that is consumable by this gem.
3
+ # An adapter that can convert the output of version 4.x and 5.x of the *gherkin* gem into input that is consumable by this gem.
4
4
 
5
5
  class Gherkin4Adapter
6
6
 
@@ -19,7 +19,7 @@ module CukeModeler
19
19
  # will be done with an 'adapter' appropriate to the version of the *gherkin* gem that has been activated.
20
20
 
21
21
  case Gem.loaded_specs['gherkin'].version.version
22
- when /^4\./
22
+ when /^[54]\./
23
23
  require 'gherkin/parser'
24
24
  require 'cuke_modeler/adapters/gherkin_4_adapter'
25
25
 
@@ -1,4 +1,4 @@
1
1
  module CukeModeler
2
2
  # The gem version
3
- VERSION = '1.2.1'
3
+ VERSION = '1.3.0'
4
4
  end
@@ -1,9 +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
4
- in order to determine equality. Elements are considered equal if the base text of their steps match. That is, the
5
- keyword used for the step and any table or doc string that may be associated with that step are ignored for the
6
- 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 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.
7
4
 
8
5
 
9
6
  Scenario: Comparing tests
@@ -1,7 +1,6 @@
1
1
  Feature: Background modeling
2
2
 
3
- Background models represent the Background portion of a feature. They expose several attributes of the background
4
- that they represent, as well as containing models for the steps that are present in that background.
3
+ Background models represent the Background portion of a feature. They expose several attributes of the background that they represent, as well as containing models for the steps that are present in that background.
5
4
 
6
5
 
7
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Background output
2
2
 
3
- A background model's string output is a Gherkin representation of itself. As such, output from a background model can be used as
4
- input for the same kind of model.
3
+ A background model's string output is a Gherkin representation of itself. As such, output from a background model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a background model
@@ -1,7 +1,6 @@
1
1
  Feature: Cell modeling
2
2
 
3
- Cell models represent an individual cell in a table row (either a step table or an example table). They expose
4
- several attributes of the cell that they represent.
3
+ Cell models represent an individual cell in a table row (either a step table or an example table). They expose several attributes of the cell that they represent.
5
4
 
6
5
 
7
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Comment modeling
2
2
 
3
- Comment models represent a comment portion of a feature. They expose several attributes of the comment
4
- that they represent.
3
+ Comment models represent a comment portion of a feature. They expose several attributes of the comment that they represent.
5
4
 
6
5
 
7
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Comment output
2
2
 
3
- A comment model's string output is a Gherkin representation of itself. As such, output from a comment model can be used as
4
- input for the same kind of model.
3
+ A comment model's string output is a Gherkin representation of itself. As such, output from a comment model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a comment model
@@ -1,9 +1,6 @@
1
1
  Feature: Directory modeling
2
2
 
3
-
4
- Directory models are the top level element of a model tree. They expose several attributes of the directory that they
5
- represent, as well as containing models for any feature files or subdirectories that are present in the directory
6
- that they represent.
3
+ Directory models are the top level element of a model tree. They expose several attributes of the directory that they represent, as well as containing models for any feature files or subdirectories that are present in the directory that they represent.
7
4
 
8
5
 
9
6
  Background: An existing test suite
@@ -1,7 +1,6 @@
1
1
  Feature: Directory output
2
2
 
3
- A directory model's string output is simply the file path of the directory that it models. As such, output from a directory model can be used as
4
- input for the same kind of model.
3
+ A directory model's string output is simply the file path of the directory that it models. As such, output from a directory model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a directory model
@@ -1,8 +1,6 @@
1
1
  Feature: Doc string modeling
2
2
 
3
-
4
- Doc string models represent the doc string argument to a step. They expose several attributes of the doc string
5
- that they represent.
3
+ Doc string models represent the doc string argument to a step. They expose several attributes of the doc string that they represent.
6
4
 
7
5
 
8
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Doc string output
2
2
 
3
- A doc string model's string output is a Gherkin representation of itself. As such, output from a doc string model can be used as
4
- input for the same kind of model.
3
+ A doc string model's string output is a Gherkin representation of itself. As such, output from a doc string model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a doc string model
@@ -1,8 +1,6 @@
1
1
  Feature: Example modeling
2
2
 
3
- Example models represent an example table of a Scenario Outline portion of a feature. They expose
4
- several attributes of the example that they represent, as well as containing models for the example
5
- rows and tags that are present in that example.
3
+ Example models represent an example table of a Scenario Outline portion of a feature. They expose several attributes of the example that they represent, as well as containing models for the example rows and tags that are present in that example.
6
4
 
7
5
 
8
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Example output
2
2
 
3
- An example model's string output is a Gherkin representation of itself. As such, output from an example model can be used as
4
- input for the same kind of model.
3
+ An example model's string output is a Gherkin representation of itself. As such, output from an example model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting an example model
@@ -1,8 +1,6 @@
1
1
  Feature: Feature file modeling
2
2
 
3
-
4
- Feature file models represent a single .feature file in a test suite. They expose several attributes of the
5
- feature file that they represent, as well as containing the model for the feature that is present in that file.
3
+ Feature file models represent a single .feature file in a test suite. They expose several attributes of the feature file that they represent, as well as containing the model for the feature that is present in that file.
6
4
 
7
5
 
8
6
  Background: An existing feature file
@@ -1,7 +1,6 @@
1
1
  Feature: Feature file output
2
2
 
3
- A feature file model's string output is simply the file path of the feature file that it models. As such, output from a feature file model can be used as
4
- input for the same kind of model.
3
+ A feature file model's string output is simply the file path of the feature file that it models. As such, output from a feature file model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a feature file model
@@ -1,8 +1,6 @@
1
1
  Feature: Feature modeling
2
2
 
3
- Feature models are the top level element of the gherkin portion of the model tree. They expose several attributes of
4
- the feature that they represent, as well as containing models for any background, scenarios, or outlines that are
5
- present in that feature.
3
+ Feature models are the top level element of the gherkin portion of the model tree. They expose several attributes of the feature that they represent, as well as containing models for any background, scenarios, or outlines that are present in that feature.
6
4
 
7
5
 
8
6
  Background:
@@ -97,8 +95,7 @@ present in that feature.
97
95
 
98
96
  Scenario: Modeling a feature's tags
99
97
 
100
- Note: Although a feature does not inherit tags from anything else, they can still
101
- be requested in the same manner as other models that have tags.
98
+ Note: Although a feature does not inherit tags from anything else, they can still be requested in the same manner as other models that have tags.
102
99
 
103
100
  When the feature's tags are requested
104
101
  """
@@ -1,7 +1,6 @@
1
1
  Feature: Feature output
2
2
 
3
- A feature model's string output is a Gherkin representation of itself. As such, output from a feature model can be used as
4
- input for the same kind of model.
3
+ A feature model's string output is a Gherkin representation of itself. As such, output from a feature model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting a feature model
@@ -1,8 +1,6 @@
1
1
  Feature: Model output
2
2
 
3
- All models can be output in text form. For models that represent parts of the file structure, this text
4
- will be a path and for models that represent parts of a feature file, this text will be Gherkin (see the
5
- model output documentation for specific models for details).
3
+ All models can be output in text form. For models that represent parts of the file structure, this text will be a path and for models that represent parts of a feature file, this text will be Gherkin (see the model output documentation for specific models for details).
6
4
 
7
5
 
8
6
  Scenario: Outputting a model
@@ -1,13 +1,8 @@
1
1
  Feature: Model structure
2
2
 
3
- When modeling an existing test suite, that suite is parsed and models are created for each element of the
4
- suite. These models form a nested structure of parent and child models which has the same shape as whatever
5
- portion of the suite that they represent (see the documentation for specific models for details).
3
+ When modeling an existing test suite, that suite is parsed and models are created for each element of the suite. These models form a nested structure of parent and child models which has the same shape as whatever portion of the suite that they represent (see the documentation for specific models for details).
6
4
 
7
- However, all models can also be used in an 'abstract' manner. That is, they can be created without any input
8
- (such as a file path or snippet of Gherkin) that would normally be used for determining their structure and
9
- properties. In these cases, their parent/child relationships and properties can be set directly rather than
10
- being populated dynamically based on an actual test suite.
5
+ However, all models can also be used in an 'abstract' manner. That is, they can be created without any input (such as a file path or snippet of Gherkin) that would normally be used for determining their structure and properties. In these cases, their parent/child relationships and properties can be set directly rather than being populated dynamically based on an actual test suite.
11
6
 
12
7
 
13
8
  Scenario: Creating abstract models
@@ -36,8 +31,7 @@ being populated dynamically based on an actual test suite.
36
31
 
37
32
  Scenario: Accessing the parsing data
38
33
 
39
- Note: Directory models do not store any parsing data because parsing Gherkin source text
40
- does not come into play until the feature file level of modeling.
34
+ Note: Directory models do not store any parsing data because parsing Gherkin source text does not come into play until the feature file level of modeling.
41
35
 
42
36
  Given the models provided by CukeModeler
43
37
  Then all of them provide access to the parsing data that was used to create them
@@ -1,7 +1,6 @@
1
1
  Feature: Outline modeling
2
2
 
3
- Outline models represent a Scenario Outline portion of a feature. They expose several attributes of the outline
4
- that they represent, as well as containing models for the steps, tags, and examples that are present in that outline.
3
+ Outline models represent a Scenario Outline portion of a feature. They expose several attributes of the outline that they represent, as well as containing models for the steps, tags, and examples that are present in that outline.
5
4
 
6
5
 
7
6
  Background:
@@ -1,7 +1,6 @@
1
1
  Feature: Outline output
2
2
 
3
- An outline model's string output is a Gherkin representation of itself. As such, output from an outline model can be used as
4
- input for the same kind of model.
3
+ An outline model's string output is a Gherkin representation of itself. As such, output from an outline model can be used as input for the same kind of model.
5
4
 
6
5
 
7
6
  Scenario: Outputting an outline model
@@ -1,7 +1,6 @@
1
1
  Feature: Row modeling
2
2
 
3
- Row models represent an individual row in a step or example table. They expose several attributes of the row
4
- that they represent.
3
+ Row models represent an individual row in a step or example table. They expose several attributes of the row that they represent.
5
4
 
6
5
 
7
6
  Background: