rspec-parameterized 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5665bc5a51fe3cd88914ac6c60338ea1ffad169
4
- data.tar.gz: a80fbc9f7c762afc8708935ab9e0b78169275322
3
+ metadata.gz: aff30f7544b6df92c5886fa92c44d40f49c602ce
4
+ data.tar.gz: 31b86112cf15b6540876b2d31f2c5a84ef701889
5
5
  SHA512:
6
- metadata.gz: fd46dfbed36ff3124150e5bb56c1c965a38bc8fa12264b26b189a2b4c7e35e1cab2dbe98d23934d07fe4a58454bb0c91203c5c00d9c6193fa47511f0fbe24d65
7
- data.tar.gz: 862cdb822391d181e49402eab8da5f064659de6346c9436e617308308947e764556f1d711840cdc62541ce8a507bb6aec31e69f318dff655c919e588e49c467f
6
+ metadata.gz: 5edaf41862d9f151f14364f981ea9c44423b1134956ee788e1675ce9f3902a2932ddced532d6a588a59be3527c9212114910d144d29588a494a40a39edfefa39
7
+ data.tar.gz: f51339e6c2bf33e5d579f044199515bb92600043a8975ea981512d4ceb3f32969d9eff12d12d63af810524f9a589305915093806e39cff28462734927228fdde
data/.travis.yml CHANGED
@@ -1,6 +1,5 @@
1
1
  sudo: false
2
2
  rvm:
3
- - 2.0
4
3
  - 2.1
5
4
  - 2.2
6
5
 
@@ -8,7 +7,4 @@ gemfile:
8
7
  - gemfiles/rspec2.gemfile
9
8
  - gemfiles/rspec3.gemfile
10
9
  - gemfiles/rspec3.2.gemfile
11
-
12
- matrix:
13
- allow_failures:
14
- - rvm: 1.9.3
10
+ - gemfiles/rspec3.3.gemfile
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).should == answer
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).should == answer
63
+ expect(a + b).to eq answer
34
64
  end
35
65
  end
36
66
  end
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rspec", "~> 3.3.0"
4
+
5
+ gemspec path: "../"
@@ -38,7 +38,17 @@ module RSpec
38
38
  # end
39
39
  #
40
40
  def where(*args, &b)
41
- set_parameters(args, false, &b)
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
 
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  module Parameterized
3
- VERSION = "0.1.3"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -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.1.3
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-02-13 00:00:00.000000000 Z
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.2.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.