cql 0.1.0 → 0.1.0.1
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.
- data/lib/dsl.rb +64 -0
- data/lib/map_reduce.rb +139 -0
- data/lib/repo.rb +34 -0
- data/spec/filter_feature_dsl_spec.rb +486 -0
- data/spec/filter_sso_spec.rb +279 -0
- data/spec/map_reduce_spec.rb +132 -0
- data/spec/select_feature_dsl_spec.rb +50 -0
- data/spec/select_scen_outline_dsl_spec.rb +126 -0
- data/spec/select_scenario_dsl_spec.rb +73 -0
- data/spec/unit_spec.rb +22 -0
- metadata +21 -4
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require File.dirname(__FILE__) + "/../lib/repo"
|
3
|
+
|
4
|
+
describe "select" do
|
5
|
+
describe "single value, single results" do
|
6
|
+
it 'should get scenario outlines line number' do
|
7
|
+
gs = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
8
|
+
result = gs.query do
|
9
|
+
select line
|
10
|
+
from scenario_outlines
|
11
|
+
end
|
12
|
+
result.should == {"line"=>3}
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should get scenario outlines name' do
|
16
|
+
gs = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
17
|
+
result = gs.query do
|
18
|
+
select name
|
19
|
+
from scenario_outlines
|
20
|
+
end
|
21
|
+
result.should == {"name"=> "An Outline"}
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return the examples used" do
|
25
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
26
|
+
result = gr.query do
|
27
|
+
select examples
|
28
|
+
from scenario_outlines
|
29
|
+
end
|
30
|
+
result.should == {"examples"=>[{"keyword"=>"Examples", "name"=>"", "line"=>6,
|
31
|
+
"description"=>"", "id"=>"test-feature;an-outline;",
|
32
|
+
"rows"=>[{"cells"=>["var_a", "var_b"], "line"=>7, "id"=>"test-feature;an-outline;;1"},
|
33
|
+
{"cells"=>["1", "a"], "line"=>8, "id"=>"test-feature;an-outline;;2"},
|
34
|
+
{"cells"=>["2", "b"], "line"=>9, "id"=>"test-feature;an-outline;;3"},
|
35
|
+
{"cells"=>["3", "c"], "line"=>10, "id"=>"test-feature;an-outline;;4"},
|
36
|
+
{"cells"=>["4", "d"], "line"=>11, "id"=>"test-feature;an-outline;;5"}]
|
37
|
+
}]}
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should return multiple examples used for a single scenario outline" do
|
41
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/multiple_examples"
|
42
|
+
result = gr.query do
|
43
|
+
select examples
|
44
|
+
from scenario_outlines
|
45
|
+
end
|
46
|
+
result.should == {"examples"=>[{"keyword"=>"Examples", "name"=>"One", "line"=>6, "description"=>"", "id"=>"test-feature;an-outline;one",
|
47
|
+
"rows"=>[{"cells"=>["var_a", "var_b"], "line"=>7, "id"=>"test-feature;an-outline;one;1"},
|
48
|
+
{"cells"=>["1", "a"], "line"=>8, "id"=>"test-feature;an-outline;one;2"},
|
49
|
+
{"cells"=>["2", "b"], "line"=>9, "id"=>"test-feature;an-outline;one;3"}]},
|
50
|
+
{"keyword"=>"Examples", "name"=>"Two", "line"=>11, "description"=>"", "id"=>"test-feature;an-outline;two",
|
51
|
+
"rows"=>[{"cells"=>["var_a", "var_b"], "line"=>12, "id"=>"test-feature;an-outline;two;1"},
|
52
|
+
{"cells"=>["1", "a"], "line"=>13, "id"=>"test-feature;an-outline;two;2"},
|
53
|
+
{"cells"=>["2", "b"], "line"=>14, "id"=>"test-feature;an-outline;two;3"}]}]}
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "single value, multiple results" do
|
59
|
+
it 'should get scenario outlines as is when no select criteria given' do
|
60
|
+
expected = {"all"=>{"keyword"=>"Scenario Outline",
|
61
|
+
"name"=>"An Outline",
|
62
|
+
"line"=>3, "description"=>"",
|
63
|
+
"id"=>"test-feature;an-outline", "type"=>"scenario_outline",
|
64
|
+
"steps"=>[{"keyword"=>"Given ", "name"=>"something happend", "line"=>4},
|
65
|
+
{"keyword"=>"Then ", "name"=>"I expect something else", "line"=>5}],
|
66
|
+
"examples"=>[{"keyword"=>"Examples", "name"=>"", "line"=>6, "description"=>"", "id"=>"test-feature;an-outline;",
|
67
|
+
"rows"=>[{"cells"=>["var_a", "var_b"], "line"=>7, "id"=>"test-feature;an-outline;;1"},
|
68
|
+
{"cells"=>["1", "a"], "line"=>8, "id"=>"test-feature;an-outline;;2"},
|
69
|
+
{"cells"=>["2", "b"], "line"=>9, "id"=>"test-feature;an-outline;;3"},
|
70
|
+
{"cells"=>["3", "c"], "line"=>10, "id"=>"test-feature;an-outline;;4"},
|
71
|
+
{"cells"=>["4", "d"], "line"=>11, "id"=>"test-feature;an-outline;;5"}]}]}}
|
72
|
+
|
73
|
+
gs = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
74
|
+
result = gs.query do
|
75
|
+
select all
|
76
|
+
from scenario_outlines
|
77
|
+
end
|
78
|
+
result.should == expected
|
79
|
+
|
80
|
+
result = gs.query do
|
81
|
+
select everything
|
82
|
+
from scenario_outlines
|
83
|
+
end
|
84
|
+
result.should == expected
|
85
|
+
|
86
|
+
result = gs.query do
|
87
|
+
select complete
|
88
|
+
from scenario_outlines
|
89
|
+
end
|
90
|
+
result.should == expected
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "select all" do
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
describe "special selectors" do
|
99
|
+
it 'should get the full step line scenario outlines' do
|
100
|
+
gs = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
101
|
+
result = gs.query do
|
102
|
+
select step_lines
|
103
|
+
from scenario_outlines
|
104
|
+
end
|
105
|
+
result.should == {"step_lines"=> ["Given something happend", "Then I expect something else"]}
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
describe "multiple values" do
|
110
|
+
it 'should get scenario outlines name and line numbers as a map' do
|
111
|
+
gs = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scen_outlines/basic"
|
112
|
+
result = gs.query do
|
113
|
+
select name, line, type, step_lines, id, steps
|
114
|
+
from scenario_outlines
|
115
|
+
end
|
116
|
+
result.should == {'name'=>"An Outline",
|
117
|
+
'line'=>3,
|
118
|
+
'id'=>'test-feature;an-outline',
|
119
|
+
'type'=>'scenario_outline',
|
120
|
+
"steps"=>[{"keyword"=>"Given ", "name"=>"something happend", "line"=>4}, {"keyword"=>"Then ", "name"=>"I expect something else", "line"=>5}],
|
121
|
+
"step_lines"=>["Given something happend", "Then I expect something else"]
|
122
|
+
}
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
126
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require File.dirname(__FILE__) + "/../lib/repo"
|
3
|
+
|
4
|
+
describe "select" do
|
5
|
+
|
6
|
+
describe "single value, multiple results" do
|
7
|
+
it 'should get scenario line number' do
|
8
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scenario/simple2"
|
9
|
+
result = gr.query do
|
10
|
+
select line
|
11
|
+
from scenarios
|
12
|
+
end
|
13
|
+
result.should == [{"line"=> 6}, {"line"=> 11}, {"line"=> 16}, {"line"=> 21}]
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should get scenario name' do
|
17
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scenario/simple2"
|
18
|
+
result = gr.query do
|
19
|
+
select name
|
20
|
+
from scenarios
|
21
|
+
end
|
22
|
+
result.should == [{"name"=> "Testing the slurping"}, {"name"=> "Testing again"},
|
23
|
+
{"name"=> "Testing yet again"}, {"name"=> "Testing yet again part 2"}]
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should get scenario name from multiple feature files' do
|
27
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scenario/simple"
|
28
|
+
result = gr.query do
|
29
|
+
select name
|
30
|
+
from scenarios
|
31
|
+
end
|
32
|
+
result.should == [{"name"=> "Has a table"}, {"name"=> "Testing the slurping 1"},
|
33
|
+
{"name"=> "Testing the slurping not to be found"}, {"name"=> "Testing the slurping 2"},
|
34
|
+
{"name"=> "Testing the slurping 3"}, {"name"=> "Testing again"},
|
35
|
+
{"name"=> "Testing yet again"}, {"name"=> "Testing yet again part 2"}]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "multiple values" do
|
40
|
+
it 'should get multiple scenarios as a list of maps' do
|
41
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scenario/simple2"
|
42
|
+
result = gr.query do
|
43
|
+
select line, name
|
44
|
+
from scenarios
|
45
|
+
end
|
46
|
+
result.should == [{'line'=>6, 'name'=>"Testing the slurping"}, {'line'=>11, 'name'=>"Testing again"},
|
47
|
+
{'line'=>16, 'name'=>"Testing yet again"}, {'line'=>21, 'name'=>"Testing yet again part 2"}]
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should select all" do
|
51
|
+
gr = CQL::Repository.new File.expand_path(File.dirname(__FILE__)) + "/../fixtures/features/scenario/table"
|
52
|
+
expected = {"all"=>{"keyword"=>"Scenario", "name"=>"Has a table", "line"=>3,
|
53
|
+
"description"=>"", "id"=>"simple;has-a-table", "type"=>"scenario",
|
54
|
+
"steps"=>[{"keyword"=>"Given ", "name"=>"Something", "line"=>4,
|
55
|
+
"rows"=>[{"cells"=>["a", "a"], "line"=>5}, {"cells"=>["s", "a"], "line"=>6},
|
56
|
+
{"cells"=>["s", "s"], "line"=>7}]},
|
57
|
+
{"keyword"=>"Then ", "name"=>"something else", "line"=>8}]}}
|
58
|
+
|
59
|
+
result = gr.query do
|
60
|
+
select all
|
61
|
+
from scenarios
|
62
|
+
end
|
63
|
+
result.should == expected
|
64
|
+
|
65
|
+
result = gr.query do
|
66
|
+
select complete
|
67
|
+
from scenarios
|
68
|
+
end
|
69
|
+
result.should == expected
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
data/spec/unit_spec.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require File.dirname(__FILE__) + "/../lib/repo"
|
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
|
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: 0.1.0
|
4
|
+
version: 0.1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -80,7 +80,17 @@ email: jdfolino@gmail.com
|
|
80
80
|
executables: []
|
81
81
|
extensions: []
|
82
82
|
extra_rdoc_files: []
|
83
|
-
files:
|
83
|
+
files:
|
84
|
+
- lib/dsl.rb
|
85
|
+
- lib/map_reduce.rb
|
86
|
+
- lib/repo.rb
|
87
|
+
- spec/filter_feature_dsl_spec.rb
|
88
|
+
- spec/filter_sso_spec.rb
|
89
|
+
- spec/map_reduce_spec.rb
|
90
|
+
- spec/select_feature_dsl_spec.rb
|
91
|
+
- spec/select_scen_outline_dsl_spec.rb
|
92
|
+
- spec/select_scenario_dsl_spec.rb
|
93
|
+
- spec/unit_spec.rb
|
84
94
|
homepage:
|
85
95
|
licenses: []
|
86
96
|
post_install_message: ! '
|
@@ -116,5 +126,12 @@ rubyforge_project:
|
|
116
126
|
rubygems_version: 1.8.21
|
117
127
|
signing_key:
|
118
128
|
specification_version: 3
|
119
|
-
summary: cucumber-0.1.0
|
120
|
-
test_files:
|
129
|
+
summary: cucumber-0.1.0.1
|
130
|
+
test_files:
|
131
|
+
- spec/filter_feature_dsl_spec.rb
|
132
|
+
- spec/filter_sso_spec.rb
|
133
|
+
- spec/map_reduce_spec.rb
|
134
|
+
- spec/select_feature_dsl_spec.rb
|
135
|
+
- spec/select_scen_outline_dsl_spec.rb
|
136
|
+
- spec/select_scenario_dsl_spec.rb
|
137
|
+
- spec/unit_spec.rb
|