cql 0.2.1 → 0.3.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.
- checksums.yaml +15 -0
- data/lib/cql.rb +71 -63
- data/lib/dsl.rb +110 -110
- data/lib/feature_filters.rb +88 -72
- data/lib/map_reduce.rb +104 -40
- data/lib/sso_filters.rb +81 -72
- data/spec/filter_feature_dsl_spec.rb +284 -486
- data/spec/filter_sso_spec.rb +161 -288
- data/spec/line_count_filterable_specs.rb +73 -0
- data/spec/line_filterable_specs.rb +40 -0
- data/spec/map_reduce_spec.rb +132 -132
- data/spec/multiple_queries_spec.rb +27 -0
- data/spec/name_filterable_specs.rb +40 -0
- data/spec/select_feature_dsl_spec.rb +191 -50
- data/spec/select_scen_outline_dsl_spec.rb +323 -126
- data/spec/select_scenario_dsl_spec.rb +197 -73
- data/spec/spec_helper.rb +27 -0
- data/spec/tag_filterable_specs.rb +106 -0
- metadata +54 -37
- data/spec/unit_spec.rb +0 -22
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'simplecov' unless RUBY_VERSION.to_s < '1.9.0'
|
2
|
+
|
3
|
+
|
4
|
+
require "#{File.dirname(__FILE__)}/../lib/cql"
|
5
|
+
require "#{File.dirname(__FILE__)}/tag_filterable_specs"
|
6
|
+
require "#{File.dirname(__FILE__)}/name_filterable_specs"
|
7
|
+
require "#{File.dirname(__FILE__)}/line_count_filterable_specs"
|
8
|
+
require "#{File.dirname(__FILE__)}/line_filterable_specs"
|
9
|
+
|
10
|
+
CQL_FEATURE_FIXTURES_DIRECTORY = "#{File.dirname(__FILE__)}/../fixtures/features"
|
11
|
+
|
12
|
+
|
13
|
+
RSpec.configure do |config|
|
14
|
+
config.before(:all) do
|
15
|
+
@feature_fixtures_directory = CQL_FEATURE_FIXTURES_DIRECTORY
|
16
|
+
end
|
17
|
+
|
18
|
+
config.before(:each) do
|
19
|
+
# Nothing yet
|
20
|
+
end
|
21
|
+
|
22
|
+
config.after(:each) do
|
23
|
+
# Nothing yet
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
shared_examples_for 'a tag filterable target set' do |target_type, test_data|
|
4
|
+
|
5
|
+
describe 'tag filters' do
|
6
|
+
|
7
|
+
it 'should filter by a single tag' do
|
8
|
+
gs = CQL::Repository.new(test_data[:single_tag][:fixture_location])
|
9
|
+
|
10
|
+
expected_results = test_data[:single_tag][:expected_results]
|
11
|
+
|
12
|
+
expected_results.each do |tag, expected|
|
13
|
+
result = gs.query do
|
14
|
+
select name
|
15
|
+
from target_type
|
16
|
+
with tags tag
|
17
|
+
end
|
18
|
+
|
19
|
+
expect(result).to eq(expected)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should filter by a multiple tags' do
|
24
|
+
gs = CQL::Repository.new(test_data[:multiple_tags][:fixture_location])
|
25
|
+
|
26
|
+
expected_results = test_data[:multiple_tags][:expected_results]
|
27
|
+
|
28
|
+
expected_results.each do |filter_tags, expected|
|
29
|
+
result = gs.query do
|
30
|
+
select name
|
31
|
+
from target_type
|
32
|
+
with tags *filter_tags
|
33
|
+
end
|
34
|
+
|
35
|
+
expect(result).to eq(expected)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should filter based on 'tc lt'" do
|
40
|
+
gs = CQL::Repository.new(test_data[:tc_lt][:fixture_location])
|
41
|
+
|
42
|
+
expected_results = test_data[:tc_lt][:expected_results]
|
43
|
+
|
44
|
+
expected_results.each do |number, expected|
|
45
|
+
result = gs.query do
|
46
|
+
select name
|
47
|
+
from target_type
|
48
|
+
with tc lt number
|
49
|
+
end
|
50
|
+
|
51
|
+
expect(result).to eq(expected)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should filter features by 'tc lte'" do
|
56
|
+
gs = CQL::Repository.new(test_data[:tc_lte][:fixture_location])
|
57
|
+
|
58
|
+
expected_results = test_data[:tc_lte][:expected_results]
|
59
|
+
|
60
|
+
expected_results.each do |number, expected|
|
61
|
+
result = gs.query do
|
62
|
+
select name
|
63
|
+
from target_type
|
64
|
+
with tc lte number
|
65
|
+
end
|
66
|
+
|
67
|
+
expect(result).to eq(expected)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
it "should filter features by 'tc gt'" do
|
73
|
+
gs = CQL::Repository.new(test_data[:tc_gt][:fixture_location])
|
74
|
+
|
75
|
+
expected_results = test_data[:tc_gt][:expected_results]
|
76
|
+
|
77
|
+
expected_results.each do |number, expected|
|
78
|
+
result = gs.query do
|
79
|
+
select name
|
80
|
+
from target_type
|
81
|
+
with tc gt number
|
82
|
+
end
|
83
|
+
|
84
|
+
expect(result).to eq(expected)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
it "should filter features by 'tc gte'" do
|
90
|
+
gs = CQL::Repository.new(test_data[:tc_gte][:fixture_location])
|
91
|
+
|
92
|
+
expected_results = test_data[:tc_gte][:expected_results]
|
93
|
+
|
94
|
+
expected_results.each do |number, expected|
|
95
|
+
result = gs.query do
|
96
|
+
select name
|
97
|
+
from target_type
|
98
|
+
with tc gte number
|
99
|
+
end
|
100
|
+
|
101
|
+
expect(result).to eq(expected)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
metadata
CHANGED
@@ -1,52 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jarrod Folino
|
8
|
+
- Eric Kessler
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-07-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: cuke_modeler
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '2.11'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '2.11'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: json
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
17
|
requirements:
|
35
18
|
- - ! '>='
|
36
19
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
20
|
+
version: '0'
|
38
21
|
type: :runtime
|
39
22
|
prerelease: false
|
40
23
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
24
|
requirements:
|
43
25
|
- - ! '>='
|
44
26
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
27
|
+
version: '0'
|
46
28
|
- !ruby/object:Gem::Dependency
|
47
29
|
name: rake
|
48
30
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
31
|
requirements:
|
51
32
|
- - ! '>='
|
52
33
|
- !ruby/object:Gem::Version
|
@@ -54,7 +35,6 @@ dependencies:
|
|
54
35
|
type: :development
|
55
36
|
prerelease: false
|
56
37
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
38
|
requirements:
|
59
39
|
- - ! '>='
|
60
40
|
- !ruby/object:Gem::Version
|
@@ -62,7 +42,6 @@ dependencies:
|
|
62
42
|
- !ruby/object:Gem::Dependency
|
63
43
|
name: rspec
|
64
44
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
45
|
requirements:
|
67
46
|
- - ~>
|
68
47
|
- !ruby/object:Gem::Version
|
@@ -70,13 +49,40 @@ dependencies:
|
|
70
49
|
type: :development
|
71
50
|
prerelease: false
|
72
51
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
52
|
requirements:
|
75
53
|
- - ~>
|
76
54
|
- !ruby/object:Gem::Version
|
77
55
|
version: '2.7'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: cucumber
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: simplecov
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
78
84
|
description: Cucumber Query Language
|
79
|
-
email:
|
85
|
+
email: morrow748@gmail.com
|
80
86
|
executables: []
|
81
87
|
extensions: []
|
82
88
|
extra_rdoc_files: []
|
@@ -88,13 +94,20 @@ files:
|
|
88
94
|
- lib/sso_filters.rb
|
89
95
|
- spec/filter_feature_dsl_spec.rb
|
90
96
|
- spec/filter_sso_spec.rb
|
97
|
+
- spec/line_count_filterable_specs.rb
|
98
|
+
- spec/line_filterable_specs.rb
|
91
99
|
- spec/map_reduce_spec.rb
|
100
|
+
- spec/multiple_queries_spec.rb
|
101
|
+
- spec/name_filterable_specs.rb
|
92
102
|
- spec/select_feature_dsl_spec.rb
|
93
103
|
- spec/select_scenario_dsl_spec.rb
|
94
104
|
- spec/select_scen_outline_dsl_spec.rb
|
95
|
-
- spec/
|
105
|
+
- spec/spec_helper.rb
|
106
|
+
- spec/tag_filterable_specs.rb
|
96
107
|
homepage:
|
97
|
-
licenses:
|
108
|
+
licenses:
|
109
|
+
- MIT
|
110
|
+
metadata: {}
|
98
111
|
post_install_message: ! '
|
99
112
|
|
100
113
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
@@ -112,28 +125,32 @@ rdoc_options:
|
|
112
125
|
require_paths:
|
113
126
|
- lib
|
114
127
|
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
128
|
requirements:
|
117
129
|
- - ! '>='
|
118
130
|
- !ruby/object:Gem::Version
|
119
131
|
version: '0'
|
120
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
133
|
requirements:
|
123
134
|
- - ! '>='
|
124
135
|
- !ruby/object:Gem::Version
|
125
136
|
version: '0'
|
126
137
|
requirements: []
|
127
138
|
rubyforge_project:
|
128
|
-
rubygems_version:
|
139
|
+
rubygems_version: 2.0.3
|
129
140
|
signing_key:
|
130
|
-
specification_version:
|
131
|
-
summary:
|
141
|
+
specification_version: 4
|
142
|
+
summary: A gem providing functionality to query a Cucumber test suite.
|
132
143
|
test_files:
|
133
144
|
- spec/filter_feature_dsl_spec.rb
|
134
145
|
- spec/filter_sso_spec.rb
|
146
|
+
- spec/line_count_filterable_specs.rb
|
147
|
+
- spec/line_filterable_specs.rb
|
135
148
|
- spec/map_reduce_spec.rb
|
149
|
+
- spec/multiple_queries_spec.rb
|
150
|
+
- spec/name_filterable_specs.rb
|
136
151
|
- spec/select_feature_dsl_spec.rb
|
137
152
|
- spec/select_scenario_dsl_spec.rb
|
138
153
|
- spec/select_scen_outline_dsl_spec.rb
|
139
|
-
- spec/
|
154
|
+
- spec/spec_helper.rb
|
155
|
+
- spec/tag_filterable_specs.rb
|
156
|
+
has_rdoc:
|
data/spec/unit_spec.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require File.dirname(__FILE__) + "/../lib/cql"
|
3
|
-
|
4
|
-
describe "cql" do
|
5
|
-
|
6
|
-
describe "tag searcher" do
|
7
|
-
it "should be able to search for tags" do
|
8
|
-
#tags_given = [{"name"=>"@one", "line"=>3}, {"name"=>"@four", "line"=>3}, {"name"=>"@six", "line"=>3}, {"name"=>"@seven", "line"=>3}]
|
9
|
-
#CQL::MapReduce.has_tags(tags_given, ["@one", "@four"]).should eql true
|
10
|
-
#
|
11
|
-
#tags_given = [{"name"=>"@two", "line"=>3}, {"name"=>"@four", "line"=>3}, {"name"=>"@six", "line"=>3}, {"name"=>"@seven", "line"=>3}]
|
12
|
-
#CQL::MapReduce.has_tags(tags_given, ["@one", "@four"]).should eql false
|
13
|
-
#
|
14
|
-
#tags_given = [{"name"=>"@two", "line"=>3}, {"name"=>"@four", "line"=>3}, {"name"=>"@six", "line"=>3}, {"name"=>"@seven", "line"=>3}]
|
15
|
-
#CQL::MapReduce.has_tags(tags_given, ["@four"]).should eql true
|
16
|
-
#
|
17
|
-
#tags_given = [{"name"=>"@two", "line"=>3}, {"name"=>"@four", "line"=>3}, {"name"=>"@six", "line"=>3}, {"name"=>"@seven", "line"=>3}]
|
18
|
-
#CQL::MapReduce.has_tags(tags_given, ["@four", "@two", "@six", "@seven"]).should eql true
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|