cql 0.3.0 → 1.0.0

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