cuke_modeler 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +292 -0
  4. data/Gemfile +1 -0
  5. data/README.md +14 -4
  6. data/Rakefile +41 -31
  7. data/appveyor.yml +1 -1
  8. data/cuke_modeler.gemspec +4 -1
  9. data/lib/cuke_modeler/containing.rb +2 -0
  10. data/lib/cuke_modeler/parsing.rb +8 -0
  11. data/lib/cuke_modeler/version.rb +1 -1
  12. data/testing/gemfiles/gherkin2.gemfile +1 -0
  13. data/testing/rspec/spec/integration/{gherkin_2_adapter_spec.rb → adapters/gherkin_2_adapter_spec.rb} +1 -1
  14. data/testing/rspec/spec/integration/{gherkin_3_adapter_spec.rb → adapters/gherkin_3_adapter_spec.rb} +1 -1
  15. data/testing/rspec/spec/integration/{gherkin_4_adapter_spec.rb → adapters/gherkin_4_adapter_spec.rb} +1 -1
  16. data/testing/rspec/spec/integration/{gherkin_6_adapter_spec.rb → adapters/gherkin_6_adapter_spec.rb} +1 -1
  17. data/testing/rspec/spec/integration/{background_integration_spec.rb → models/background_integration_spec.rb} +1 -1
  18. data/testing/rspec/spec/integration/{cell_integration_spec.rb → models/cell_integration_spec.rb} +1 -1
  19. data/testing/rspec/spec/integration/{comment_integration_spec.rb → models/comment_integration_spec.rb} +1 -1
  20. data/testing/rspec/spec/integration/{directory_integration_spec.rb → models/directory_integration_spec.rb} +1 -1
  21. data/testing/rspec/spec/integration/{doc_string_integration_spec.rb → models/doc_string_integration_spec.rb} +1 -1
  22. data/testing/rspec/spec/integration/{example_integration_spec.rb → models/example_integration_spec.rb} +1 -1
  23. data/testing/rspec/spec/integration/{feature_file_integration_spec.rb → models/feature_file_integration_spec.rb} +1 -1
  24. data/testing/rspec/spec/integration/{feature_integration_spec.rb → models/feature_integration_spec.rb} +1 -1
  25. data/testing/rspec/spec/integration/{model_integration_spec.rb → models/model_integration_spec.rb} +1 -1
  26. data/testing/rspec/spec/integration/{outline_integration_spec.rb → models/outline_integration_spec.rb} +1 -1
  27. data/testing/rspec/spec/integration/{row_integration_spec.rb → models/row_integration_spec.rb} +1 -1
  28. data/testing/rspec/spec/integration/{scenario_integration_spec.rb → models/scenario_integration_spec.rb} +1 -1
  29. data/testing/rspec/spec/integration/{step_integration_spec.rb → models/step_integration_spec.rb} +1 -1
  30. data/testing/rspec/spec/integration/{table_integration_spec.rb → models/table_integration_spec.rb} +1 -1
  31. data/testing/rspec/spec/integration/{tag_integration_spec.rb → models/tag_integration_spec.rb} +1 -1
  32. data/testing/rspec/spec/spec_helper.rb +3 -0
  33. data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +25 -0
  34. data/testing/rspec/spec/unit/{background_unit_spec.rb → models/background_unit_spec.rb} +1 -1
  35. data/testing/rspec/spec/unit/{cell_unit_spec.rb → models/cell_unit_spec.rb} +1 -1
  36. data/testing/rspec/spec/unit/{comment_unit_spec.rb → models/comment_unit_spec.rb} +1 -1
  37. data/testing/rspec/spec/unit/{directory_unit_spec.rb → models/directory_unit_spec.rb} +1 -1
  38. data/testing/rspec/spec/unit/{doc_string_unit_spec.rb → models/doc_string_unit_spec.rb} +1 -1
  39. data/testing/rspec/spec/unit/{example_unit_spec.rb → models/example_unit_spec.rb} +1 -1
  40. data/testing/rspec/spec/unit/{feature_file_unit_spec.rb → models/feature_file_unit_spec.rb} +1 -1
  41. data/testing/rspec/spec/unit/{feature_unit_spec.rb → models/feature_unit_spec.rb} +1 -1
  42. data/testing/rspec/spec/unit/{model_unit_spec.rb → models/model_unit_spec.rb} +1 -1
  43. data/testing/rspec/spec/unit/{outline_unit_spec.rb → models/outline_unit_spec.rb} +1 -1
  44. data/testing/rspec/spec/unit/{row_unit_spec.rb → models/row_unit_spec.rb} +1 -1
  45. data/testing/rspec/spec/unit/{scenario_unit_spec.rb → models/scenario_unit_spec.rb} +1 -1
  46. data/testing/rspec/spec/unit/{step_unit_spec.rb → models/step_unit_spec.rb} +1 -1
  47. data/testing/rspec/spec/unit/{table_unit_spec.rb → models/table_unit_spec.rb} +1 -1
  48. data/testing/rspec/spec/unit/{tag_unit_spec.rb → models/tag_unit_spec.rb} +1 -1
  49. metadata +60 -42
  50. data/History.md +0 -196
data/History.md DELETED
@@ -1,196 +0,0 @@
1
- ### Version 1.5.0 / 2019-01-13
2
-
3
- * Added methods to easily run elements of an arbitrarily rooted model tree through a given block of code.
4
-
5
-
6
- ### Version 1.4.0 / 2018-11-14
7
-
8
- * Now compatible with Gherkin 6.x.
9
-
10
-
11
- ### Version 1.3.0 / 2017-10-19
12
-
13
- * Now compatible with Gherkin 5.x.
14
-
15
-
16
- ### Version 1.2.1 / 2017-04-25
17
-
18
- * Now officially compatible with Rake 12.x.
19
-
20
-
21
- ### Version 1.2.0 / 2016-11-23
22
-
23
- * The comments in a feature file are now a modeled element.
24
-
25
-
26
- ### Version 1.1.1 / 2016-10-28
27
-
28
- * Bug fix - Abstract instantiation of models when using a non-default dialect
29
- now works correctly.
30
-
31
-
32
- ### Version 1.1.0 / 2016-10-28
33
-
34
- * Support added for non-English dialects. This gem should now be able to model
35
- feature files using any dialect supported by the 'gherkin' gem.
36
-
37
- * Models for elements of Gherkin that have keywords (e.g. 'Feature', 'Scenario',
38
- 'Examples') now keep track of the keyword used by the element that they model.
39
-
40
- * Bug fix - Fixed a bug that was causing example models to output extra newline
41
- characters under certain circumstances.
42
-
43
-
44
- ### Version 1.0.4 / 2016-10-07
45
-
46
- * Bug Fix - Fixed a bug that caused some models to include nil objects in their
47
- children collection if they did not have the relevant child object.
48
-
49
-
50
- ### Version 1.0.3 / 2016-09-12
51
-
52
- * Fixed a gem dependency that was accidentally declared with '<=' instead of '<'.
53
-
54
-
55
- ### Version 1.0.2 / 2016-09-12
56
-
57
- * A more detailed gem description and summary have been added to the gemspec.
58
-
59
- * The gem now declares version limits on its dependencies.
60
-
61
- * Badges for the current status of the project have been added to the Readme.
62
-
63
-
64
- ### Version 1.0.1 / 2016-09-10
65
-
66
- * In the Readme file, added a link to the published documentation.
67
-
68
-
69
- ### Version 1.0.0 / 2016-09-08
70
-
71
- * All modeled elements of a Cucumber test suite are now modeled with actual
72
- classes. Previously, some elements (such as tags or rows in an example table)
73
- were modeled with simple strings.
74
-
75
- * A base model class has been added in order to simplify adding new element
76
- models. Other classes and modules used for organizing common model behavior
77
- have been created/removed/renamed.
78
-
79
- * Feature file models now only have a single feature model instead of a
80
- collection of them (that would only ever have one item in it).
81
-
82
- * Rows in an example table and rows in a step table no longer use two different
83
- classes for modeling.
84
-
85
- * Background models can now be compared to other models that have steps (i.e.
86
- scenarios and outlines).
87
-
88
- * All models for Gherkin elements now track the line number from which they
89
- originate in a source file.
90
-
91
- * The source line of a model is now a mutable attribute instead of being read
92
- only.
93
-
94
- * The file path of a feature file is now a mutable attribute instead of being
95
- read only.
96
-
97
- * Standardized the initial values of the attributes of abstractly created
98
- models so that they are consistent across model types.
99
-
100
- * Added specific ancestor types for scenario, outline, and background models as
101
- alternatives to the generic 'test' ancestor type.
102
-
103
- * Extra whitespace around parsed element descriptions is now trimmed away
104
- before being stored in a model.
105
-
106
- * Adding rows to examples via hashes can now be done without regard to the
107
- order of the keys in the hash. The correct order can be determined by the
108
- model.
109
-
110
- * The saved parsing data that is generated by the 'gherkin' gem is no longer
111
- duplicated for each model, resulting in significantly less memory usage.
112
-
113
- * String output of models has been improved. More special characters in Gherkin
114
- (e.g. vertical bars in rows) are appropriately escaped in the string output
115
- of a model and several minor bugs related to using model string output as the
116
- input text for new models have been fixed.
117
-
118
- * Removed the backdoor used to pass around model data during the model creation
119
- process. Model input can now only be text.
120
-
121
- * Simple counting methods have been removed. Ruby's collection methods are just
122
- as easy to use directly when dealing with classes that contain collections
123
- and the removal of these counting methods simplifies the codebase.
124
-
125
- * The 'World' module has been removed. The scope of this gem is to model files
126
- written in Gherkin. Concepts like 'step definitions' and 'hooks' are better
127
- left to libraries that include (possibly programming language specific) test
128
- execution logic within their scope of concern.
129
-
130
- * Step models no longer have 'arguments' because they require the concept of
131
- step definitions, which are no longer within the scope of this gem.
132
-
133
- * Removed deprecated behavior
134
- - Marked
135
- - Doc strings no longer use an array of strings to model their content
136
- - Tables no longer use nested arrays of strings to model their rows
137
- - Models that have descriptions no longer use an array of strings to
138
- model their description
139
- - The convenient (read: awkward) #step_text has been removed.
140
- - Unmarked
141
- - Examples no longer use an array of hashes to model their rows
142
-
143
- * Various methods have been renamed.
144
-
145
-
146
- ### Version 0.4.1 / 2016-05-12
147
-
148
- * Increased the flexibility of input when adding rows to an Example object. Non-
149
- string values can now be used as input and they will be converted into
150
- strings. Original input objects are not modified.
151
-
152
- * Added some error checking around adding value rows to an Example object
153
- without adding a parameter row as well.
154
-
155
-
156
- ### Version 0.4.0 / 2016-05-01
157
-
158
- * The path of a Directory object is now a changeable attribute instead of only
159
- being populated if the instance was given a diretory to model.
160
-
161
- * Bug fix - Fixed a bug that occurred if a Directory object was asked for its
162
- \#name when it was created as 'abstract' instead of modeling an existing
163
- directory.
164
-
165
-
166
- ### Version 0.3.0 / 2016-04-24
167
-
168
- * Support for version 4.x of the 'gherkin' gem added.
169
-
170
- * Bug fix - Fixed a bug that was preventing Example objects from being created
171
- from text if that text had less Gherkin structure than normal.
172
-
173
-
174
- ### Version 0.2.0 / 2016-02-21
175
-
176
- * Better error feedback when parsing errors are encountered. It is now easier
177
- to tell which file contained invalid Gherkin.
178
-
179
-
180
- ### Version 0.1.0 / 2016-02-10
181
-
182
- * Support for version 3.x of the 'gherkin' gem added.
183
-
184
- * Bug fix - The saved parsing data that is generated by the 'gherkin' gem is no
185
- longer modified by the rest of the model creation process.
186
-
187
-
188
- ### Version 0.0.2 / 2015-11-22
189
-
190
- * Bug fix - Fixed a bug that was causing object comparison using #== to not
191
- work when comparing some models to other types of objects.
192
-
193
-
194
- ### Version 0.0.1 / 2014-06-02
195
-
196
- * Initial release