cuke_modeler 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
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