cucumber_analytics 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +8 -8
  2. data/.simplecov +5 -1
  3. data/History.rdoc +16 -5
  4. data/README.rdoc +5 -0
  5. data/Rakefile +6 -1
  6. data/features/modeling/background_modeling.feature +5 -1
  7. data/features/modeling/directory_modeling.feature +1 -1
  8. data/features/modeling/doc_string_modeling.feature +5 -1
  9. data/features/modeling/example_modeling.feature +5 -1
  10. data/features/modeling/feature_file_modeling.feature +1 -1
  11. data/features/modeling/feature_modeling.feature +15 -10
  12. data/features/modeling/outline_modeling.feature +6 -1
  13. data/features/modeling/row_modeling.feature +5 -1
  14. data/features/modeling/scenario_modeling.feature +6 -1
  15. data/features/modeling/step_modeling.feature +6 -1
  16. data/features/modeling/table_modeling.feature +5 -1
  17. data/features/modeling/tag_modeling.feature +51 -0
  18. data/features/step_definitions/background_steps.rb +12 -0
  19. data/features/step_definitions/doc_string_steps.rb +10 -0
  20. data/features/step_definitions/feature_steps.rb +14 -5
  21. data/features/step_definitions/outline_steps.rb +31 -15
  22. data/features/step_definitions/spec_steps.rb +1 -1
  23. data/features/step_definitions/step_steps.rb +10 -0
  24. data/features/step_definitions/table_steps.rb +11 -0
  25. data/features/step_definitions/tag_steps.rb +53 -0
  26. data/features/step_definitions/test_steps.rb +20 -8
  27. data/features/step_definitions/world_steps.rb +16 -12
  28. data/lib/cucumber_analytics/background.rb +10 -0
  29. data/lib/cucumber_analytics/doc_string.rb +12 -0
  30. data/lib/cucumber_analytics/example.rb +1 -0
  31. data/lib/cucumber_analytics/feature.rb +2 -1
  32. data/lib/cucumber_analytics/feature_element.rb +2 -0
  33. data/lib/cucumber_analytics/outline.rb +1 -0
  34. data/lib/cucumber_analytics/raw.rb +20 -0
  35. data/lib/cucumber_analytics/row.rb +3 -0
  36. data/lib/cucumber_analytics/scenario.rb +1 -0
  37. data/lib/cucumber_analytics/step.rb +3 -0
  38. data/lib/cucumber_analytics/table.rb +8 -0
  39. data/lib/cucumber_analytics/tag.rb +59 -0
  40. data/lib/cucumber_analytics/taggable.rb +15 -0
  41. data/lib/cucumber_analytics/version.rb +1 -1
  42. data/lib/cucumber_analytics/world.rb +5 -0
  43. data/lib/cucumber_analytics.rb +2 -0
  44. data/spec/integration/example_integration_spec.rb +4 -1
  45. data/spec/integration/feature_integration_spec.rb +11 -8
  46. data/spec/integration/outline_integration_spec.rb +4 -1
  47. data/spec/integration/scenario_integration_spec.rb +4 -1
  48. data/spec/spec_helper.rb +1 -0
  49. data/spec/unit/background_unit_spec.rb +1 -0
  50. data/spec/unit/doc_string_unit_spec.rb +1 -0
  51. data/spec/unit/example_unit_spec.rb +1 -0
  52. data/spec/unit/feature_unit_spec.rb +12 -0
  53. data/spec/unit/outline_unit_spec.rb +1 -0
  54. data/spec/unit/raw_element_unit_specs.rb +24 -0
  55. data/spec/unit/raw_unit_spec.rb +25 -0
  56. data/spec/unit/row_unit_spec.rb +1 -0
  57. data/spec/unit/scenario_unit_spec.rb +1 -0
  58. data/spec/unit/step_unit_spec.rb +1 -0
  59. data/spec/unit/table_unit_spec.rb +1 -0
  60. data/spec/unit/tag_unit_spec.rb +39 -0
  61. data/spec/unit/taggable_unit_spec.rb +22 -7
  62. data/spec/unit/tagged_element_unit_specs.rb +22 -7
  63. data/spec/unit/world_unit_spec.rb +3 -2
  64. metadata +14 -2
@@ -10,6 +10,7 @@ describe 'Step, Unit' do
10
10
  it_should_behave_like 'a bare bones element', clazz
11
11
  it_should_behave_like 'a prepopulated element', clazz
12
12
  it_should_behave_like 'a sourced element', clazz
13
+ it_should_behave_like 'a raw element', clazz
13
14
 
14
15
  before(:each) do
15
16
  @step = clazz.new
@@ -9,6 +9,7 @@ describe 'Table, Unit' do
9
9
  it_should_behave_like 'a nested element', clazz
10
10
  it_should_behave_like 'a bare bones element', clazz
11
11
  it_should_behave_like 'a prepopulated element', clazz
12
+ it_should_behave_like 'a raw element', clazz
12
13
 
13
14
  it 'can be parsed from stand alone text' do
14
15
  source = '| a table |'
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ SimpleCov.command_name('Tag') unless RUBY_VERSION.to_s < '1.9.0'
4
+
5
+ describe 'Tag, Unit' do
6
+
7
+ clazz = CucumberAnalytics::Tag
8
+
9
+ it_should_behave_like 'a nested element', clazz
10
+ it_should_behave_like 'a bare bones element', clazz
11
+ it_should_behave_like 'a prepopulated element', clazz
12
+ it_should_behave_like 'a sourced element', clazz
13
+ it_should_behave_like 'a raw element', clazz
14
+
15
+
16
+ it 'can be parsed from stand alone text' do
17
+ source = '@a_tag'
18
+
19
+ expect { @element = clazz.new(source) }.to_not raise_error
20
+ @element.name.should == '@a_tag'
21
+ end
22
+
23
+ before(:each) do
24
+ @element = clazz.new
25
+ end
26
+
27
+
28
+ it 'has a name' do
29
+ @element.should respond_to(:name)
30
+ end
31
+
32
+ it 'can get and set its name' do
33
+ @element.name = :some_name
34
+ @element.name.should == :some_name
35
+ @element.name = :some_other_name
36
+ @element.name.should == :some_other_name
37
+ end
38
+
39
+ end
@@ -19,45 +19,60 @@ describe 'Taggable, Unit' do
19
19
  end
20
20
 
21
21
 
22
- it 'has tags - #tags' do
22
+ it 'has tags' do
23
23
  @element.should respond_to(:tags)
24
+ @element.should respond_to(:tag_elements)
24
25
  end
25
26
 
26
- it 'can get and set its tags - #tags, #tags=' do
27
+ it 'can get and set its tags' do
27
28
  @element.tags = :some_tags
28
29
  @element.tags.should == :some_tags
29
30
  @element.tags = :some_other_tags
30
31
  @element.tags.should == :some_other_tags
32
+
33
+ @element.tag_elements = :some_tag_elements
34
+ @element.tag_elements.should == :some_tag_elements
35
+ @element.tag_elements = :some_other_tag_elements
36
+ @element.tag_elements.should == :some_other_tag_elements
31
37
  end
32
38
 
33
- it 'has applied tags - #applied_tags' do
39
+ it 'has applied tags' do
34
40
  @element.should respond_to(:applied_tags)
41
+ @element.should respond_to(:applied_tag_elements)
35
42
  end
36
43
 
37
- it 'inherits its applied tags from its ancestors - #applied_tags' do
44
+ it 'inherits its applied tags from its ancestors' do
45
+ all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
38
46
  all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
39
- parent = double(:all_tags => all_parent_tags)
47
+ parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
40
48
 
41
49
  @element.parent_element = parent
42
50
 
43
51
  @element.applied_tags.should == all_parent_tags
52
+ @element.applied_tag_elements.should == all_parent_tag_elements
44
53
  end
45
54
 
46
- it 'knows all of its applicable tags - #all_tags' do
55
+ it 'knows all of its applicable tags' do
56
+ all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
47
57
  all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
48
58
  own_tags = ['@tag_1', '@tag_2']
49
- parent = double(:all_tags => all_parent_tags)
59
+ own_tag_elements = [:tag_element_1, :tag_element_2]
60
+
61
+ parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
50
62
 
51
63
  @element.parent_element = parent
52
64
  @element.tags = own_tags
65
+ @element.tag_elements = own_tag_elements
53
66
 
54
67
  @element.all_tags.should == all_parent_tags + own_tags
68
+ @element.all_tag_elements.should == all_parent_tag_elements + own_tag_elements
55
69
  end
56
70
 
57
71
  it 'may have no applied tags' do
58
72
  @element.parent_element = :not_a_tagged_object
59
73
 
60
74
  @element.applied_tags.should == []
75
+ @element.applied_tag_elements.should == []
61
76
  end
62
77
 
63
78
  end
@@ -6,43 +6,58 @@ shared_examples_for 'a tagged element' do |clazz|
6
6
  @element = clazz.new
7
7
  end
8
8
 
9
- it 'has tags - #tags' do
9
+ it 'has tags' do
10
10
  @element.should respond_to(:tags)
11
+ @element.should respond_to(:tag_elements)
11
12
  end
12
13
 
13
- it 'can get and set its tags - #tags, #tags=' do
14
+ it 'can get and set its tags' do
14
15
  @element.tags = :some_tags
15
16
  @element.tags.should == :some_tags
16
17
  @element.tags = :some_other_tags
17
18
  @element.tags.should == :some_other_tags
19
+
20
+ @element.tag_elements = :some_tag_elements
21
+ @element.tag_elements.should == :some_tag_elements
22
+ @element.tag_elements = :some_other_tag_elements
23
+ @element.tag_elements.should == :some_other_tag_elements
18
24
  end
19
25
 
20
26
  it 'starts with no tags' do
21
27
  @element.tags.should == []
28
+ @element.tag_elements.should == []
22
29
  end
23
30
 
24
- it 'has applied tags - #applied_tags' do
31
+ it 'has applied tags' do
25
32
  @element.should respond_to(:applied_tags)
33
+ @element.should respond_to(:applied_tag_elements)
26
34
  end
27
35
 
28
- it 'inherits its applied tags from its ancestors - #applied_tags' do
36
+ it 'inherits its applied tags from its ancestors' do
37
+ all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
29
38
  all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
30
- parent = double(:all_tags => all_parent_tags)
39
+ parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
31
40
 
32
41
  @element.parent_element = parent
33
42
 
34
43
  @element.applied_tags.should == all_parent_tags
44
+ @element.applied_tag_elements.should == all_parent_tag_elements
35
45
  end
36
46
 
37
- it 'knows all of its applicable tags - #all_tags' do
47
+ it 'knows all of its applicable tags' do
48
+ all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
38
49
  all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
39
50
  own_tags = ['@tag_1', '@tag_2']
40
- parent = double(:all_tags => all_parent_tags)
51
+ own_tag_elements = [:tag_element_1, :tag_element_2]
52
+
53
+ parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
41
54
 
42
55
  @element.parent_element = parent
43
56
  @element.tags = own_tags
57
+ @element.tag_elements = own_tag_elements
44
58
 
45
59
  @element.all_tags.should == all_parent_tags + own_tags
60
+ @element.all_tag_elements.should == all_parent_tag_elements + own_tag_elements
46
61
  end
47
62
 
48
63
  end
@@ -134,10 +134,11 @@ describe 'World, Unit' do
134
134
  end
135
135
 
136
136
  it 'can collect tags from containers' do
137
- nested_container = double(:tags => @set_2)
138
- container = double(:tags => @set_1, :contains => [nested_container])
137
+ nested_container = double(:tags => @set_2, :tag_elements => @set_2)
138
+ container = double(:tags => @set_1, :tag_elements => @set_1, :contains => [nested_container])
139
139
 
140
140
  @world.tags_in(container).should =~ (@set_1 + @set_2)
141
+ @world.tag_elements_in(container).should =~ (@set_1 + @set_2)
141
142
  end
142
143
 
143
144
  it 'can collect directories from containers' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber_analytics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-03 00:00:00.000000000 Z
11
+ date: 2013-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gherkin
@@ -114,6 +114,7 @@ files:
114
114
  - features/modeling/scenario_modeling.feature
115
115
  - features/modeling/step_modeling.feature
116
116
  - features/modeling/table_modeling.feature
117
+ - features/modeling/tag_modeling.feature
117
118
  - features/step_definitions/background_steps.rb
118
119
  - features/step_definitions/directory_steps.rb
119
120
  - features/step_definitions/doc_string_steps.rb
@@ -124,6 +125,7 @@ files:
124
125
  - features/step_definitions/spec_steps.rb
125
126
  - features/step_definitions/step_steps.rb
126
127
  - features/step_definitions/table_steps.rb
128
+ - features/step_definitions/tag_steps.rb
127
129
  - features/step_definitions/test_steps.rb
128
130
  - features/step_definitions/world_steps.rb
129
131
  - features/support/env.rb
@@ -139,11 +141,13 @@ files:
139
141
  - lib/cucumber_analytics/feature_file.rb
140
142
  - lib/cucumber_analytics/outline.rb
141
143
  - lib/cucumber_analytics/parsing.rb
144
+ - lib/cucumber_analytics/raw.rb
142
145
  - lib/cucumber_analytics/row.rb
143
146
  - lib/cucumber_analytics/scenario.rb
144
147
  - lib/cucumber_analytics/sourceable.rb
145
148
  - lib/cucumber_analytics/step.rb
146
149
  - lib/cucumber_analytics/table.rb
150
+ - lib/cucumber_analytics/tag.rb
147
151
  - lib/cucumber_analytics/taggable.rb
148
152
  - lib/cucumber_analytics/test_element.rb
149
153
  - lib/cucumber_analytics/version.rb
@@ -172,12 +176,15 @@ files:
172
176
  - spec/unit/outline_unit_spec.rb
173
177
  - spec/unit/parsing_unit_spec.rb
174
178
  - spec/unit/prepopulated_unit_specs.rb
179
+ - spec/unit/raw_element_unit_specs.rb
180
+ - spec/unit/raw_unit_spec.rb
175
181
  - spec/unit/row_unit_spec.rb
176
182
  - spec/unit/scenario_unit_spec.rb
177
183
  - spec/unit/sourceable_unit_spec.rb
178
184
  - spec/unit/sourced_element_unit_specs.rb
179
185
  - spec/unit/step_unit_spec.rb
180
186
  - spec/unit/table_unit_spec.rb
187
+ - spec/unit/tag_unit_spec.rb
181
188
  - spec/unit/taggable_unit_spec.rb
182
189
  - spec/unit/tagged_element_unit_specs.rb
183
190
  - spec/unit/test_element_unit_spec.rb
@@ -227,6 +234,7 @@ test_files:
227
234
  - features/modeling/scenario_modeling.feature
228
235
  - features/modeling/step_modeling.feature
229
236
  - features/modeling/table_modeling.feature
237
+ - features/modeling/tag_modeling.feature
230
238
  - features/step_definitions/background_steps.rb
231
239
  - features/step_definitions/directory_steps.rb
232
240
  - features/step_definitions/doc_string_steps.rb
@@ -237,6 +245,7 @@ test_files:
237
245
  - features/step_definitions/spec_steps.rb
238
246
  - features/step_definitions/step_steps.rb
239
247
  - features/step_definitions/table_steps.rb
248
+ - features/step_definitions/tag_steps.rb
240
249
  - features/step_definitions/test_steps.rb
241
250
  - features/step_definitions/world_steps.rb
242
251
  - features/support/env.rb
@@ -265,12 +274,15 @@ test_files:
265
274
  - spec/unit/outline_unit_spec.rb
266
275
  - spec/unit/parsing_unit_spec.rb
267
276
  - spec/unit/prepopulated_unit_specs.rb
277
+ - spec/unit/raw_element_unit_specs.rb
278
+ - spec/unit/raw_unit_spec.rb
268
279
  - spec/unit/row_unit_spec.rb
269
280
  - spec/unit/scenario_unit_spec.rb
270
281
  - spec/unit/sourceable_unit_spec.rb
271
282
  - spec/unit/sourced_element_unit_specs.rb
272
283
  - spec/unit/step_unit_spec.rb
273
284
  - spec/unit/table_unit_spec.rb
285
+ - spec/unit/tag_unit_spec.rb
274
286
  - spec/unit/taggable_unit_spec.rb
275
287
  - spec/unit/tagged_element_unit_specs.rb
276
288
  - spec/unit/test_element_unit_spec.rb