cql 0.3.0 → 1.0.0

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.
@@ -11,38 +11,38 @@ describe "select" do
11
11
  from scenarios
12
12
  end
13
13
 
14
- expect(result).to eq([{"tags" => [{"name" => "@two", "line" => 3}]},
15
- {"tags" => [{"name" => "@one", "line" => 11}]},
16
- {"tags" => nil},
17
- {"tags" => [{"name" => "@two", "line" => 18}]},
18
- {"tags" => [{"name" => "@one", "line" => 22}]},
19
- {"tags" => [{"name" => "@two", "line" => 3}, {"name" => "@four", "line" => 3}]},
20
- {"tags" => [{"name" => "@one", "line" => 11}, {"name" => "@five", "line" => 11}]},
21
- {"tags" => nil},
22
- {"tags" => [{"name" => "@two", "line" => 18}]},
23
- {"tags" => [{"name" => "@one", "line" => 22}]}])
14
+ expect(result).to match_array([{"tags" => ["@two"]},
15
+ {"tags" => ["@one"]},
16
+ {"tags" => []},
17
+ {"tags" => ["@two"]},
18
+ {"tags" => ["@one"]},
19
+ {"tags" => ["@two", "@four"]},
20
+ {"tags" => ["@one", "@five"]},
21
+ {"tags" => []},
22
+ {"tags" => ["@two"]},
23
+ {"tags" => ["@one"]}])
24
24
  end
25
25
 
26
26
  it 'should return descriptions from scenarios' do
27
27
  gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/table")
28
28
 
29
29
  result = gs.query do
30
- select description
30
+ select description_text
31
31
  from scenarios
32
32
  end
33
33
 
34
- expect(result).to eq([{"description" => "Scenario description."}])
34
+ expect(result).to eq([{"description_text" => "Scenario description."}])
35
35
  end
36
36
 
37
37
  it 'should return lines from scenarios' do
38
38
  gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
39
39
 
40
40
  result = gr.query do
41
- select line
41
+ select source_line
42
42
  from scenarios
43
43
  end
44
44
 
45
- expect(result).to eq([{"line" => 6}, {"line" => 11}, {"line" => 16}, {"line" => 21}])
45
+ expect(result).to eq([{"source_line" => 6}, {"source_line" => 11}, {"source_line" => 16}, {"source_line" => 21}])
46
46
  end
47
47
 
48
48
  it 'should return names from scenarios' do
@@ -61,7 +61,9 @@ describe "select" do
61
61
  gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
62
62
 
63
63
  result = gs.query do
64
- select type
64
+ select raw_element
65
+ as 'type'
66
+ transform 'raw_element' => lambda { |element| element['type'] }
65
67
  from scenarios
66
68
  end
67
69
 
@@ -73,7 +75,9 @@ describe "select" do
73
75
  gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
74
76
 
75
77
  result = gs.query do
76
- select step_lines
78
+ select raw_element
79
+ as step_lines
80
+ transform 'raw_element' => lambda { |element| element['steps'].collect { |step| step['keyword'] + step['name'] } }
77
81
  from scenarios
78
82
  end
79
83
 
@@ -87,7 +91,9 @@ describe "select" do
87
91
  gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
88
92
 
89
93
  result = gs.query do
90
- select id
94
+ select raw_element
95
+ as 'id'
96
+ transform 'raw_element' => lambda { |element| element['id'] }
91
97
  from scenarios
92
98
  end
93
99
 
@@ -101,7 +107,9 @@ describe "select" do
101
107
  gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
102
108
 
103
109
  result = gs.query do
104
- select steps
110
+ select raw_element
111
+ as steps
112
+ transform 'raw_element' => lambda { |element| element['steps'] }
105
113
  from scenarios
106
114
  end
107
115
 
@@ -119,10 +127,10 @@ describe "select" do
119
127
  from scenarios
120
128
  end
121
129
 
122
- expect(result).to eq([{"name" => "Testing the slurping", "tags" => [{"name" => "@one", "line" => 5}]},
123
- {"name" => "Testing again", "tags" => [{"name" => "@two", "line" => 10}]},
124
- {"name" => "Testing yet again", "tags" => [{"name" => "@one", "line" => 15}]},
125
- {"name" => "Testing yet again part 2", "tags" => [{"name" => "@one", "line" => 20}, {"name" => "@two", "line" => 20}]}])
130
+ expect(result).to eq([{"name" => "Testing the slurping", "tags" => ["@one"]},
131
+ {"name" => "Testing again", "tags" => ["@two"]},
132
+ {"name" => "Testing yet again", "tags" => ["@one"]},
133
+ {"name" => "Testing yet again part 2", "tags" => ["@one", "@two"]}])
126
134
  end
127
135
 
128
136
  it 'should return things from multiple feature files' do
@@ -133,64 +141,21 @@ describe "select" do
133
141
  from scenarios
134
142
  end
135
143
 
136
- expect(result).to eq([{"name" => "Has a table"}, {"name" => "Testing the slurping 1"},
137
- {"name" => "Testing the slurping not to be found"}, {"name" => "Testing the slurping 2"},
138
- {"name" => "Testing the slurping 3"}, {"name" => "Testing again"},
139
- {"name" => "Testing yet again"}, {"name" => "Testing yet again part 2"}])
144
+ expect(result).to match_array([{"name" => "Has a table"}, {"name" => "Testing the slurping 1"},
145
+ {"name" => "Testing the slurping not to be found"}, {"name" => "Testing the slurping 2"},
146
+ {"name" => "Testing the slurping 3"}, {"name" => "Testing again"},
147
+ {"name" => "Testing yet again"}, {"name" => "Testing yet again part 2"}])
140
148
  end
141
149
 
142
150
  it 'should get multiple scenarios as a list of maps' do
143
151
  gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple2")
144
152
  result = gr.query do
145
- select line, name
146
- from scenarios
147
- end
148
-
149
- expect(result).to eq([{'line' => 6, 'name' => "Testing the slurping"}, {'line' => 11, 'name' => "Testing again"},
150
- {'line' => 16, 'name' => "Testing yet again"}, {'line' => 21, 'name' => "Testing yet again part 2"}])
151
- end
152
-
153
- it "should return all, complete, everything from scenarios" do
154
- gr = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/table")
155
-
156
- expected = [{"all" => {"keyword" => "Scenario",
157
- "name" => "Has a table",
158
- "line" => 4,
159
- "description" => "Scenario description.",
160
- "tags" => [{"name" => "@scenario_tag",
161
- "line" => 3}],
162
- "id" => "simple;has-a-table",
163
- "type" => "scenario",
164
- "steps" => [{"keyword" => "Given ",
165
- "name" => "Something",
166
- "line" => 7,
167
- "rows" => [{"cells" => ["a", "a"],
168
- "line" => 8},
169
- {"cells" => ["s", "a"],
170
- "line" => 9},
171
- {"cells" => ["s", "s"],
172
- "line" => 10}]},
173
- {"keyword" => "Then ",
174
- "name" => "something else",
175
- "line" => 11}]}}]
176
-
177
- result = gr.query do
178
- select all
153
+ select source_line, name
179
154
  from scenarios
180
155
  end
181
- expect(result).to eq(expected)
182
156
 
183
- result = gr.query do
184
- select complete
185
- from scenarios
186
- end
187
- expect(result).to eq(expected)
188
-
189
- result = gr.query do
190
- select everything
191
- from scenarios
192
- end
193
- expect(result).to eq(expected)
157
+ expect(result).to eq([{'source_line' => 6, 'name' => "Testing the slurping"}, {'source_line' => 11, 'name' => "Testing again"},
158
+ {'source_line' => 16, 'name' => "Testing yet again"}, {'source_line' => 21, 'name' => "Testing yet again part 2"}])
194
159
  end
195
160
 
196
161
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,7 @@
1
- require 'simplecov' unless RUBY_VERSION.to_s < '1.9.0'
1
+ unless RUBY_VERSION.to_s < '1.9.0'
2
+ require 'simplecov'
3
+ SimpleCov.command_name('cql-rspec')
4
+ end
2
5
 
3
6
 
4
7
  require "#{File.dirname(__FILE__)}/../lib/cql"
@@ -16,7 +16,7 @@ shared_examples_for 'a tag filterable target set' do |target_type, test_data|
16
16
  with tags tag
17
17
  end
18
18
 
19
- expect(result).to eq(expected)
19
+ expect(result).to match_array(expected)
20
20
  end
21
21
  end
22
22
 
@@ -48,7 +48,7 @@ shared_examples_for 'a tag filterable target set' do |target_type, test_data|
48
48
  with tc lt number
49
49
  end
50
50
 
51
- expect(result).to eq(expected)
51
+ expect(result).to match_array(expected)
52
52
  end
53
53
  end
54
54
 
@@ -64,7 +64,7 @@ shared_examples_for 'a tag filterable target set' do |target_type, test_data|
64
64
  with tc lte number
65
65
  end
66
66
 
67
- expect(result).to eq(expected)
67
+ expect(result).to match_array(expected)
68
68
  end
69
69
  end
70
70
 
@@ -81,7 +81,7 @@ shared_examples_for 'a tag filterable target set' do |target_type, test_data|
81
81
  with tc gt number
82
82
  end
83
83
 
84
- expect(result).to eq(expected)
84
+ expect(result).to match_array(expected)
85
85
  end
86
86
  end
87
87
 
@@ -98,7 +98,7 @@ shared_examples_for 'a tag filterable target set' do |target_type, test_data|
98
98
  with tc gte number
99
99
  end
100
100
 
101
- expect(result).to eq(expected)
101
+ expect(result).to match_array(expected)
102
102
  end
103
103
  end
104
104
  end
metadata CHANGED
@@ -1,19 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
- - Jarrod Folino
8
8
  - Eric Kessler
9
+ - Jarrod Folino
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-07-19 00:00:00.000000000 Z
13
+ date: 2015-09-11 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: cuke_modeler
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ! '>='
19
21
  - !ruby/object:Gem::Version
@@ -21,6 +23,23 @@ dependencies:
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: backports
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
24
43
  requirements:
25
44
  - - ! '>='
26
45
  - !ruby/object:Gem::Version
@@ -28,6 +47,7 @@ dependencies:
28
47
  - !ruby/object:Gem::Dependency
29
48
  name: rake
30
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
31
51
  requirements:
32
52
  - - ! '>='
33
53
  - !ruby/object:Gem::Version
@@ -35,6 +55,7 @@ dependencies:
35
55
  type: :development
36
56
  prerelease: false
37
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
38
59
  requirements:
39
60
  - - ! '>='
40
61
  - !ruby/object:Gem::Version
@@ -42,6 +63,7 @@ dependencies:
42
63
  - !ruby/object:Gem::Dependency
43
64
  name: rspec
44
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
45
67
  requirements:
46
68
  - - ~>
47
69
  - !ruby/object:Gem::Version
@@ -49,6 +71,7 @@ dependencies:
49
71
  type: :development
50
72
  prerelease: false
51
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
52
75
  requirements:
53
76
  - - ~>
54
77
  - !ruby/object:Gem::Version
@@ -56,6 +79,7 @@ dependencies:
56
79
  - !ruby/object:Gem::Dependency
57
80
  name: cucumber
58
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
59
83
  requirements:
60
84
  - - ! '>='
61
85
  - !ruby/object:Gem::Version
@@ -63,6 +87,7 @@ dependencies:
63
87
  type: :development
64
88
  prerelease: false
65
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
66
91
  requirements:
67
92
  - - ! '>='
68
93
  - !ruby/object:Gem::Version
@@ -70,6 +95,39 @@ dependencies:
70
95
  - !ruby/object:Gem::Dependency
71
96
  name: simplecov
72
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: racatt
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: coveralls
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
73
131
  requirements:
74
132
  - - ! '>='
75
133
  - !ruby/object:Gem::Version
@@ -77,6 +135,7 @@ dependencies:
77
135
  type: :development
78
136
  prerelease: false
79
137
  version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
80
139
  requirements:
81
140
  - - ! '>='
82
141
  - !ruby/object:Gem::Version
@@ -87,11 +146,15 @@ executables: []
87
146
  extensions: []
88
147
  extra_rdoc_files: []
89
148
  files:
149
+ - lib/cql/dsl.rb
150
+ - lib/cql/feature_filters.rb
151
+ - lib/cql/filters.rb
152
+ - lib/cql/map_reduce.rb
153
+ - lib/cql/sso_filters.rb
154
+ - lib/cql/version.rb
90
155
  - lib/cql.rb
91
- - lib/dsl.rb
92
- - lib/feature_filters.rb
93
- - lib/map_reduce.rb
94
- - lib/sso_filters.rb
156
+ - spec/dsl_spec.rb
157
+ - spec/filter_example_spec.rb
95
158
  - spec/filter_feature_dsl_spec.rb
96
159
  - spec/filter_sso_spec.rb
97
160
  - spec/line_count_filterable_specs.rb
@@ -99,15 +162,15 @@ files:
99
162
  - spec/map_reduce_spec.rb
100
163
  - spec/multiple_queries_spec.rb
101
164
  - spec/name_filterable_specs.rb
165
+ - spec/repository_spec.rb
102
166
  - spec/select_feature_dsl_spec.rb
103
167
  - spec/select_scenario_dsl_spec.rb
104
168
  - spec/select_scen_outline_dsl_spec.rb
105
169
  - spec/spec_helper.rb
106
170
  - spec/tag_filterable_specs.rb
107
- homepage:
171
+ homepage: https://github.com/enkessler/cql
108
172
  licenses:
109
173
  - MIT
110
- metadata: {}
111
174
  post_install_message: ! '
112
175
 
113
176
  (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
@@ -125,22 +188,26 @@ rdoc_options:
125
188
  require_paths:
126
189
  - lib
127
190
  required_ruby_version: !ruby/object:Gem::Requirement
191
+ none: false
128
192
  requirements:
129
193
  - - ! '>='
130
194
  - !ruby/object:Gem::Version
131
195
  version: '0'
132
196
  required_rubygems_version: !ruby/object:Gem::Requirement
197
+ none: false
133
198
  requirements:
134
199
  - - ! '>='
135
200
  - !ruby/object:Gem::Version
136
201
  version: '0'
137
202
  requirements: []
138
203
  rubyforge_project:
139
- rubygems_version: 2.0.3
204
+ rubygems_version: 1.8.29
140
205
  signing_key:
141
- specification_version: 4
206
+ specification_version: 3
142
207
  summary: A gem providing functionality to query a Cucumber test suite.
143
208
  test_files:
209
+ - spec/dsl_spec.rb
210
+ - spec/filter_example_spec.rb
144
211
  - spec/filter_feature_dsl_spec.rb
145
212
  - spec/filter_sso_spec.rb
146
213
  - spec/line_count_filterable_specs.rb
@@ -148,9 +215,9 @@ test_files:
148
215
  - spec/map_reduce_spec.rb
149
216
  - spec/multiple_queries_spec.rb
150
217
  - spec/name_filterable_specs.rb
218
+ - spec/repository_spec.rb
151
219
  - spec/select_feature_dsl_spec.rb
152
220
  - spec/select_scenario_dsl_spec.rb
153
221
  - spec/select_scen_outline_dsl_spec.rb
154
222
  - spec/spec_helper.rb
155
223
  - spec/tag_filterable_specs.rb
156
- has_rdoc: