rspec-parameterized 0.1.3 → 0.2.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 +4 -4
- data/.travis.yml +1 -5
- data/README.md +32 -2
- data/gemfiles/rspec3.3.gemfile +5 -0
- data/lib/rspec/parameterized.rb +13 -1
- data/lib/rspec/parameterized/version.rb +1 -1
- data/spec/parametarized_spec.rb +10 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aff30f7544b6df92c5886fa92c44d40f49c602ce
|
4
|
+
data.tar.gz: 31b86112cf15b6540876b2d31f2c5a84ef701889
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5edaf41862d9f151f14364f981ea9c44423b1134956ee788e1675ce9f3902a2932ddced532d6a588a59be3527c9212114910d144d29588a494a40a39edfefa39
|
7
|
+
data.tar.gz: f51339e6c2bf33e5d579f044199515bb92600043a8975ea981512d4ceb3f32969d9eff12d12d63af810524f9a589305915093806e39cff28462734927228fdde
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
Support simple parameterized test syntax in rspec.
|
4
4
|
|
5
5
|
```ruby
|
6
|
+
# Nested Array Style
|
6
7
|
describe "plus" do
|
7
8
|
where(:a, :b, :answer) do
|
8
9
|
[
|
@@ -14,11 +15,40 @@ describe "plus" do
|
|
14
15
|
|
15
16
|
with_them do
|
16
17
|
it "should do additions" do
|
17
|
-
(a + b).
|
18
|
+
expect(a + b).to eq answer
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
23
|
+
# Hash and Array Style
|
24
|
+
# Given parameters is each value combinations
|
25
|
+
# On this case
|
26
|
+
# [
|
27
|
+
# [1, 5, 2],
|
28
|
+
# [1, 5, 4],
|
29
|
+
# [1, 7, 2],
|
30
|
+
# [1, 7, 4],
|
31
|
+
# [1, 9, 2],
|
32
|
+
# [1, 9, 4],
|
33
|
+
# [3, 5, 2],
|
34
|
+
# [3, 5, 4],
|
35
|
+
# [3, 7, 2],
|
36
|
+
# [3, 7, 4],
|
37
|
+
# [3, 9, 2],
|
38
|
+
# [3, 9, 4]
|
39
|
+
# ]
|
40
|
+
describe "Hash arguments" do
|
41
|
+
where(a: [1, 3], b: [5, 7, 9], c: [2, 4])
|
42
|
+
|
43
|
+
with_them do
|
44
|
+
it "sums is even" do
|
45
|
+
expect(a + b + c).to be_even
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# Table Syntax Style (like Groovy spock)
|
51
|
+
# Need ruby-2.1 or later
|
22
52
|
describe "plus" do
|
23
53
|
using RSpec::Parameterized::TableSyntax
|
24
54
|
|
@@ -30,7 +60,7 @@ describe "plus" do
|
|
30
60
|
|
31
61
|
with_them do
|
32
62
|
it "should do additions" do
|
33
|
-
(a + b).
|
63
|
+
expect(a + b).to eq answer
|
34
64
|
end
|
35
65
|
end
|
36
66
|
end
|
data/lib/rspec/parameterized.rb
CHANGED
@@ -38,7 +38,17 @@ module RSpec
|
|
38
38
|
# end
|
39
39
|
#
|
40
40
|
def where(*args, &b)
|
41
|
-
|
41
|
+
|
42
|
+
if args.size == 1 && args[0].instance_of?(Hash)
|
43
|
+
params = args[0]
|
44
|
+
first, *rest = params.values
|
45
|
+
|
46
|
+
set_parameters(params.keys, false) {
|
47
|
+
first.product(*rest)
|
48
|
+
}
|
49
|
+
else
|
50
|
+
set_parameters(args, false, &b)
|
51
|
+
end
|
42
52
|
end
|
43
53
|
|
44
54
|
# Set parameters to be bound in specs under this example group.
|
@@ -53,6 +63,8 @@ module RSpec
|
|
53
63
|
# end
|
54
64
|
#
|
55
65
|
def where_table(*args, &b)
|
66
|
+
warn "deprecated: `where_table` method is deprecated. Please use `using RSpec::Parameterized::TableSyntax`"
|
67
|
+
warn caller.first
|
56
68
|
set_parameters(args, true, &b)
|
57
69
|
end
|
58
70
|
|
data/spec/parametarized_spec.rb
CHANGED
@@ -50,6 +50,16 @@ describe RSpec::Parameterized do
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
describe "Hash arguments" do
|
54
|
+
where(a: [1, 3], b: [5, 7, 9], c: [2, 4])
|
55
|
+
|
56
|
+
with_them do
|
57
|
+
it "sums is even" do
|
58
|
+
expect(a + b + c).to be_even
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
53
63
|
describe "table separated with pipe" do
|
54
64
|
where_table(:a, :b, :answer) do
|
55
65
|
1 | 2 | 3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-parameterized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tomykaira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -116,6 +116,7 @@ files:
|
|
116
116
|
- Rakefile
|
117
117
|
- gemfiles/rspec2.gemfile
|
118
118
|
- gemfiles/rspec3.2.gemfile
|
119
|
+
- gemfiles/rspec3.3.gemfile
|
119
120
|
- gemfiles/rspec3.gemfile
|
120
121
|
- lib/rspec-parameterized.rb
|
121
122
|
- lib/rspec/parameterized.rb
|
@@ -144,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
145
|
version: '0'
|
145
146
|
requirements: []
|
146
147
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
148
|
+
rubygems_version: 2.4.8
|
148
149
|
signing_key:
|
149
150
|
specification_version: 4
|
150
151
|
summary: RSpec::Parameterized supports simple parameterized test syntax in rspec.
|