cql 1.4.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cql/dsl.rb +5 -0
  3. data/lib/cql/version.rb +1 -1
  4. data/testing/cucumber/features/clauses/from_clause.feature +0 -8
  5. data/testing/cucumber/features/clauses/predefined_with_filters.feature +392 -0
  6. data/testing/cucumber/features/clauses/select_clause.feature +1 -5
  7. data/testing/cucumber/features/clauses/with_clause.feature +2 -164
  8. data/testing/cucumber/features/dsl.feature +0 -22
  9. data/testing/cucumber/step_definitions/verification_steps.rb +5 -6
  10. data/testing/model_helper.rb +28 -0
  11. data/testing/rspec/spec/clauses/as_clause_spec.rb +1 -0
  12. data/testing/rspec/spec/clauses/from_clause_spec.rb +146 -0
  13. data/testing/rspec/spec/clauses/select_clause_spec.rb +184 -0
  14. data/testing/rspec/spec/clauses/transform_clause_spec.rb +35 -0
  15. data/testing/rspec/spec/clauses/with_clause_spec.rb +84 -0
  16. data/testing/rspec/spec/clauses/without_clause_spec.rb +171 -0
  17. data/testing/rspec/spec/dsl_spec.rb +3 -575
  18. data/testing/rspec/spec/filter_example_spec.rb +1 -1
  19. data/testing/rspec/spec/filter_feature_dsl_spec.rb +13 -13
  20. data/testing/rspec/spec/filter_sso_spec.rb +2 -2
  21. data/testing/rspec/spec/line_filterable_specs.rb +1 -1
  22. data/testing/rspec/spec/map_reduce_spec.rb +1 -1
  23. data/testing/rspec/spec/multiple_queries_spec.rb +1 -1
  24. data/testing/rspec/spec/name_filterable_specs.rb +1 -1
  25. data/testing/rspec/spec/predefined_filters_spec.rb +284 -0
  26. data/testing/rspec/spec/repository_spec.rb +3 -3
  27. data/testing/rspec/spec/select_feature_dsl_spec.rb +8 -8
  28. data/testing/rspec/spec/select_scen_outline_dsl_spec.rb +14 -14
  29. data/testing/rspec/spec/select_scenario_dsl_spec.rb +9 -9
  30. data/testing/rspec/spec/spec_helper.rb +3 -13
  31. metadata +21 -3
@@ -4,7 +4,7 @@ require "#{File.dirname(__FILE__)}/spec_helper"
4
4
  describe 'CQL::Repository' do
5
5
 
6
6
  let(:clazz) { CQL::Repository }
7
- let(:seed_arguments) { @feature_fixtures_directory }
7
+ let(:seed_arguments) { CQL_FEATURE_FIXTURES_DIRECTORY }
8
8
 
9
9
 
10
10
  describe 'common behavior' do
@@ -19,7 +19,7 @@ describe 'CQL::Repository' do
19
19
  end
20
20
 
21
21
  it 'can use a file path as a source' do
22
- expect { clazz.new(@feature_fixtures_directory) }.to_not raise_error
22
+ expect { clazz.new(CQL_FEATURE_FIXTURES_DIRECTORY) }.to_not raise_error
23
23
  end
24
24
 
25
25
  it 'can use a model as a source' do
@@ -33,7 +33,7 @@ describe 'CQL::Repository' do
33
33
  end
34
34
 
35
35
  it 'does not modify the repository during a query' do
36
- repo = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple")
36
+ repo = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple")
37
37
 
38
38
  original_state = Marshal.dump(repo)
39
39
 
@@ -5,7 +5,7 @@ describe "select" do
5
5
  describe "from features" do
6
6
 
7
7
  it 'should return names from features' do
8
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple")
8
+ gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple")
9
9
 
10
10
  result = gs.query do
11
11
  select name
@@ -17,7 +17,7 @@ describe "select" do
17
17
  end
18
18
 
19
19
  # it 'should return descriptions from features' do
20
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
20
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
21
21
  #
22
22
  # result = gs.query do
23
23
  # select description_text
@@ -28,7 +28,7 @@ describe "select" do
28
28
  # end
29
29
 
30
30
  it 'should return paths from from feature files' do
31
- repo_path = "#{@feature_fixtures_directory}/scenario/simple"
31
+ repo_path = "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple"
32
32
  gs = CQL::Repository.new(repo_path)
33
33
 
34
34
  result = gs.query do
@@ -43,7 +43,7 @@ describe "select" do
43
43
  end
44
44
 
45
45
  # it 'should return tags from features' do
46
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/tagged_features")
46
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features")
47
47
  #
48
48
  # result = gs.query do
49
49
  # select tags
@@ -58,7 +58,7 @@ describe "select" do
58
58
  #
59
59
  #
60
60
  # it 'should return multiple things from features' do
61
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/tagged_features")
61
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features")
62
62
  #
63
63
  # result = gs.query do
64
64
  # select name, tags
@@ -72,7 +72,7 @@ describe "select" do
72
72
  # end
73
73
 
74
74
  it 'should return things from multiple feature files' do
75
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/combined/b")
75
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b")
76
76
 
77
77
  result = gr.query do
78
78
  select name
@@ -85,7 +85,7 @@ describe "select" do
85
85
  end
86
86
 
87
87
  it 'should return multiple features as a list of maps' do
88
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/combined/b")
88
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b")
89
89
 
90
90
  result = gr.query do
91
91
  select name
@@ -98,7 +98,7 @@ describe "select" do
98
98
  end
99
99
 
100
100
  # it 'should return ids from features' do
101
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
101
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
102
102
  #
103
103
  # result = gs.query do
104
104
  # select raw_element
@@ -5,7 +5,7 @@ describe "select" do
5
5
  describe 'from scenario_outlines' do
6
6
 
7
7
  # it 'should return tags from scenario outlines' do
8
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/filters/tags2")
8
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tags2")
9
9
  #
10
10
  # result = gs.query do
11
11
  # select tags
@@ -25,7 +25,7 @@ describe "select" do
25
25
  # end
26
26
  #
27
27
  # it 'should return descriptions from scenario outlines' do
28
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/multiple_examples")
28
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/multiple_examples")
29
29
  #
30
30
  # result = gs.query do
31
31
  # select description_text
@@ -37,7 +37,7 @@ describe "select" do
37
37
  #
38
38
 
39
39
  it 'should return lines from scenario outlines' do
40
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
40
+ gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
41
41
 
42
42
  result = gs.query do
43
43
  select source_line
@@ -48,7 +48,7 @@ describe "select" do
48
48
  end
49
49
 
50
50
  it 'should return names from scenario outlines' do
51
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
51
+ gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
52
52
 
53
53
  result = gs.query do
54
54
  select name
@@ -59,7 +59,7 @@ describe "select" do
59
59
  end
60
60
 
61
61
  # it 'should return types from scenario outlines' do
62
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
62
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
63
63
  #
64
64
  # result = gs.query do
65
65
  # select raw_element
@@ -72,7 +72,7 @@ describe "select" do
72
72
  # end
73
73
  #
74
74
  # it 'should return step lines from scenario outlines' do
75
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
75
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
76
76
  #
77
77
  # result = gs.query do
78
78
  # select raw_element
@@ -85,7 +85,7 @@ describe "select" do
85
85
  # end
86
86
  #
87
87
  # it 'should return ids from scenario outlines' do
88
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
88
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
89
89
  #
90
90
  # result = gs.query do
91
91
  # select raw_element
@@ -98,7 +98,7 @@ describe "select" do
98
98
  # end
99
99
  #
100
100
  # it 'should return steps from scenario outlines' do
101
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
101
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
102
102
  #
103
103
  # result = gs.query do
104
104
  # select raw_element
@@ -112,7 +112,7 @@ describe "select" do
112
112
  #
113
113
  #
114
114
  # it 'should return multiple things from scenario outlines' do
115
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/multiple_examples")
115
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/multiple_examples")
116
116
  #
117
117
  # result = gs.query do
118
118
  # select name, tags
@@ -124,7 +124,7 @@ describe "select" do
124
124
  # end
125
125
 
126
126
  it 'should return things from multiple feature files' do
127
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/filters/tags2")
127
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tags2")
128
128
 
129
129
  result = gr.query do
130
130
  select name
@@ -144,7 +144,7 @@ describe "select" do
144
144
  end
145
145
 
146
146
  it 'should return multiple scenario outlines as a list of maps' do
147
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines")
147
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines")
148
148
 
149
149
  result = gr.query do
150
150
  select name
@@ -159,7 +159,7 @@ describe "select" do
159
159
  end
160
160
 
161
161
  # it "should return the examples from scenario outlines" do
162
- # gr = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
162
+ # gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
163
163
  # result = gr.query do
164
164
  # select raw_element
165
165
  # as examples
@@ -177,7 +177,7 @@ describe "select" do
177
177
  # end
178
178
 
179
179
  # it "should return multiple examples used for a single scenario outline" do
180
- # gr = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/multiple_examples")
180
+ # gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/multiple_examples")
181
181
  # result = gr.query do
182
182
  # select raw_element
183
183
  # as examples
@@ -204,7 +204,7 @@ describe "select" do
204
204
  # end
205
205
  #
206
206
  # it 'should return scenario outlines name and line numbers as a map' do
207
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/basic")
207
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/basic")
208
208
  # result = gs.query do
209
209
  # select name, source_line, raw_element, raw_element, raw_element, raw_element
210
210
  # as 'source_line' => 'line'
@@ -5,7 +5,7 @@ describe "select" do
5
5
  describe 'from scenarios' do
6
6
 
7
7
  it 'should return lines from scenarios' do
8
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
8
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
9
9
 
10
10
  result = gr.query do
11
11
  select source_line
@@ -16,7 +16,7 @@ describe "select" do
16
16
  end
17
17
 
18
18
  it 'should return names from scenarios' do
19
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
19
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
20
20
 
21
21
  result = gr.query do
22
22
  select name
@@ -28,7 +28,7 @@ describe "select" do
28
28
  end
29
29
 
30
30
  # it 'should return types from scenarios' do
31
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
31
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
32
32
  #
33
33
  # result = gs.query do
34
34
  # select raw_element
@@ -42,7 +42,7 @@ describe "select" do
42
42
  # end
43
43
  #
44
44
  # it 'should return step lines from scenarios' do
45
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
45
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
46
46
  #
47
47
  # result = gs.query do
48
48
  # select raw_element
@@ -58,7 +58,7 @@ describe "select" do
58
58
  # end
59
59
  #
60
60
  # it 'should return ids from scenarios' do
61
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
61
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
62
62
  #
63
63
  # result = gs.query do
64
64
  # select raw_element
@@ -74,7 +74,7 @@ describe "select" do
74
74
  # end
75
75
  #
76
76
  # it 'should return steps from scenarios' do
77
- # gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
77
+ # gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
78
78
  #
79
79
  # result = gs.query do
80
80
  # select raw_element
@@ -90,7 +90,7 @@ describe "select" do
90
90
  # end
91
91
 
92
92
  it 'should return multiple things from scenarios' do
93
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
93
+ gs = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
94
94
 
95
95
  result = gs.query do
96
96
  select name, source_line
@@ -104,7 +104,7 @@ describe "select" do
104
104
  end
105
105
 
106
106
  it 'should return things from multiple feature files' do
107
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple")
107
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple")
108
108
 
109
109
  result = gr.query do
110
110
  select name
@@ -118,7 +118,7 @@ describe "select" do
118
118
  end
119
119
 
120
120
  it 'should get multiple scenarios as a list of maps' do
121
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
121
+ gr = CQL::Repository.new("#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/simple2")
122
122
  result = gr.query do
123
123
  select source_line, name
124
124
  from scenarios
@@ -11,6 +11,7 @@ require "#{this_dir}/../../../lib/cql/model_dsl"
11
11
 
12
12
 
13
13
  require "#{this_dir}/../../cql_test_model"
14
+ require "#{this_dir}/../../model_helper"
14
15
  require "#{this_dir}/tag_filterable_specs"
15
16
  require "#{this_dir}/name_filterable_specs"
16
17
  require "#{this_dir}/line_count_filterable_specs"
@@ -22,21 +23,10 @@ CQL_FEATURE_FIXTURES_DIRECTORY = "#{this_dir}/../../fixtures/features"
22
23
 
23
24
  RSpec.configure do |config|
24
25
 
26
+ include CQL::ModelHelper
27
+
25
28
  if Gem.loaded_specs['cuke_modeler'].version.version[/^0/]
26
29
  config.filter_run_excluding :cuke_modeler_1x => true
27
30
  end
28
31
 
29
- config.before(:all) do
30
- @feature_fixtures_directory = CQL_FEATURE_FIXTURES_DIRECTORY
31
- end
32
-
33
- config.before(:each) do
34
- # Nothing yet
35
- end
36
-
37
- config.after(:each) do
38
- # Nothing yet
39
- end
40
32
  end
41
-
42
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-02 00:00:00.000000000 Z
12
+ date: 2018-06-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cuke_modeler
@@ -137,7 +137,7 @@ dependencies:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '1.5'
140
- description: CQL is a domain specific language used for querying a Cucumber (other
140
+ description: CQL is a domain specific language used for querying a Cucumber (or other
141
141
  Gherkin based) test suite. The goal of CQL is to increase the ease with which useful
142
142
  information can be extracted from a modeled test suite and turned into summarized
143
143
  data or reports.
@@ -160,6 +160,7 @@ files:
160
160
  - testing/cql_test_model.rb
161
161
  - testing/cucumber/features/clauses/as_clause.feature
162
162
  - testing/cucumber/features/clauses/from_clause.feature
163
+ - testing/cucumber/features/clauses/predefined_with_filters.feature
163
164
  - testing/cucumber/features/clauses/select_clause.feature
164
165
  - testing/cucumber/features/clauses/transform_clause.feature
165
166
  - testing/cucumber/features/clauses/with_clause.feature
@@ -220,6 +221,13 @@ files:
220
221
  - testing/fixtures/features/scenario/tags3/simple.feature
221
222
  - testing/gemfiles/cuke_modeler0.gemfile
222
223
  - testing/gemfiles/cuke_modeler1.gemfile
224
+ - testing/model_helper.rb
225
+ - testing/rspec/spec/clauses/as_clause_spec.rb
226
+ - testing/rspec/spec/clauses/from_clause_spec.rb
227
+ - testing/rspec/spec/clauses/select_clause_spec.rb
228
+ - testing/rspec/spec/clauses/transform_clause_spec.rb
229
+ - testing/rspec/spec/clauses/with_clause_spec.rb
230
+ - testing/rspec/spec/clauses/without_clause_spec.rb
223
231
  - testing/rspec/spec/dsl_spec.rb
224
232
  - testing/rspec/spec/filter_example_spec.rb
225
233
  - testing/rspec/spec/filter_feature_dsl_spec.rb
@@ -230,6 +238,7 @@ files:
230
238
  - testing/rspec/spec/model_query_spec.rb
231
239
  - testing/rspec/spec/multiple_queries_spec.rb
232
240
  - testing/rspec/spec/name_filterable_specs.rb
241
+ - testing/rspec/spec/predefined_filters_spec.rb
233
242
  - testing/rspec/spec/queriable_specs.rb
234
243
  - testing/rspec/spec/repository_spec.rb
235
244
  - testing/rspec/spec/select_feature_dsl_spec.rb
@@ -273,6 +282,7 @@ test_files:
273
282
  - testing/cql_test_model.rb
274
283
  - testing/cucumber/features/clauses/as_clause.feature
275
284
  - testing/cucumber/features/clauses/from_clause.feature
285
+ - testing/cucumber/features/clauses/predefined_with_filters.feature
276
286
  - testing/cucumber/features/clauses/select_clause.feature
277
287
  - testing/cucumber/features/clauses/transform_clause.feature
278
288
  - testing/cucumber/features/clauses/with_clause.feature
@@ -333,6 +343,13 @@ test_files:
333
343
  - testing/fixtures/features/scen_outlines/name_filter/name.feature
334
344
  - testing/gemfiles/cuke_modeler0.gemfile
335
345
  - testing/gemfiles/cuke_modeler1.gemfile
346
+ - testing/model_helper.rb
347
+ - testing/rspec/spec/clauses/as_clause_spec.rb
348
+ - testing/rspec/spec/clauses/from_clause_spec.rb
349
+ - testing/rspec/spec/clauses/select_clause_spec.rb
350
+ - testing/rspec/spec/clauses/transform_clause_spec.rb
351
+ - testing/rspec/spec/clauses/without_clause_spec.rb
352
+ - testing/rspec/spec/clauses/with_clause_spec.rb
336
353
  - testing/rspec/spec/dsl_spec.rb
337
354
  - testing/rspec/spec/filter_example_spec.rb
338
355
  - testing/rspec/spec/filter_feature_dsl_spec.rb
@@ -343,6 +360,7 @@ test_files:
343
360
  - testing/rspec/spec/model_query_spec.rb
344
361
  - testing/rspec/spec/multiple_queries_spec.rb
345
362
  - testing/rspec/spec/name_filterable_specs.rb
363
+ - testing/rspec/spec/predefined_filters_spec.rb
346
364
  - testing/rspec/spec/queriable_specs.rb
347
365
  - testing/rspec/spec/repository_spec.rb
348
366
  - testing/rspec/spec/select_feature_dsl_spec.rb