rspec-parameterized 0.0.9 → 0.1.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 +7 -0
- data/.travis.yml +7 -0
- data/README.md +2 -2
- data/Rakefile +9 -0
- data/lib/rspec/parameterized/version.rb +1 -1
- data/lib/rspec/parameterized.rb +30 -17
- data/rspec-parameterized.gemspec +3 -2
- metadata +36 -37
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d776a568792d33ea0eaa01f39705ca68cff76078
|
4
|
+
data.tar.gz: fdbb572188d277665e6dd1f6d163464c6cb26425
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 46bd4b1d00517f8cc4a68fe57e31615ec2495d6cb28c6e0c384aa40d5494debe0518ed531eeafbea37cde2c5dfa80f0d2ec18ea9a5a9e2aaead35a7e98e2582f
|
7
|
+
data.tar.gz: d7c3acaff5f7e3cf2f9878d58022399bdf0107892cfe0dd65dfd5a7ffab00a116c6b3dc7940be9c0b8633e62e16664d11b146b27abb87bdaeb3baffefa53750c
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# RSpec::Parameterized
|
1
|
+
# RSpec::Parameterized [](https://travis-ci.org/tomykaira/rspec-parameterized)
|
2
2
|
|
3
3
|
Support simple parameterized test syntax in rspec.
|
4
4
|
|
@@ -10,7 +10,7 @@ Support simple parameterized test syntax in rspec.
|
|
10
10
|
[0 , 0 , 0]
|
11
11
|
]
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
with_them do
|
15
15
|
it "should do additions" do
|
16
16
|
(a + b).should == answer
|
data/Rakefile
CHANGED
data/lib/rspec/parameterized.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "rspec/parameterized/version"
|
2
|
-
require '
|
3
|
-
require '
|
2
|
+
require 'parser'
|
3
|
+
require 'unparser'
|
4
|
+
require 'proc_to_ast'
|
4
5
|
|
5
6
|
module RSpec
|
6
7
|
module Parameterized
|
@@ -77,31 +78,43 @@ module RSpec
|
|
77
78
|
end
|
78
79
|
|
79
80
|
def separate_table_like_block(b)
|
80
|
-
|
81
|
-
|
82
|
-
if
|
83
|
-
lines =
|
81
|
+
ast = b.to_ast
|
82
|
+
inner_ast = ast.children[2]
|
83
|
+
if inner_ast.type == :send
|
84
|
+
lines = [inner_ast]
|
84
85
|
else
|
85
|
-
lines =
|
86
|
+
lines = inner_ast.children
|
86
87
|
end
|
87
88
|
|
88
|
-
lines.map do |
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
89
|
+
lines.map do |node|
|
90
|
+
if node.type == :send
|
91
|
+
buf = []
|
92
|
+
extract_value(node, buf)
|
93
|
+
buf.reverse
|
93
94
|
end
|
94
|
-
rev_insts << eval_sexp(l)
|
95
|
-
rev_insts.reverse
|
96
95
|
end
|
97
96
|
end
|
98
97
|
|
99
|
-
def
|
98
|
+
def extract_value(node, buf)
|
99
|
+
receiver, method, arg = node.children
|
100
|
+
|
101
|
+
if method == :|
|
102
|
+
buf << eval_source_fragment(Unparser.unparse(arg))
|
103
|
+
end
|
104
|
+
|
105
|
+
if receiver.is_a?(AST::Node) && receiver.type == :send && receiver.children[1] == :|
|
106
|
+
extract_value(receiver, buf)
|
107
|
+
else
|
108
|
+
buf << eval_source_fragment(Unparser.unparse(receiver))
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
def eval_source_fragment(source_fragment)
|
100
113
|
instance = new # for evaluate let methods.
|
101
114
|
if defined?(self.superclass::LetDefinitions)
|
102
115
|
instance.extend self.superclass::LetDefinitions
|
103
116
|
end
|
104
|
-
instance.instance_eval(
|
117
|
+
instance.instance_eval(source_fragment)
|
105
118
|
end
|
106
119
|
|
107
120
|
def ruby2ruby
|
@@ -139,7 +152,7 @@ module RSpec
|
|
139
152
|
def params_inspect(obj)
|
140
153
|
begin
|
141
154
|
obj.is_a?(Proc) ? obj.to_raw_source : obj.inspect
|
142
|
-
rescue
|
155
|
+
rescue Parser::SyntaxError
|
143
156
|
return obj.inspect
|
144
157
|
end
|
145
158
|
end
|
data/rspec-parameterized.gemspec
CHANGED
@@ -10,8 +10,9 @@ I was inspired by [udzura's mock](https://gist.github.com/1881139).}
|
|
10
10
|
gem.homepage = ""
|
11
11
|
|
12
12
|
gem.add_dependency('rspec', '~> 2.13')
|
13
|
-
gem.add_dependency('
|
14
|
-
gem.add_dependency('
|
13
|
+
gem.add_dependency('parser')
|
14
|
+
gem.add_dependency('unparser')
|
15
|
+
gem.add_dependency('proc_to_ast')
|
15
16
|
gem.add_development_dependency('rake')
|
16
17
|
|
17
18
|
gem.files = `git ls-files`.split($\)
|
metadata
CHANGED
@@ -1,78 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-parameterized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- tomykaira
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-06 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '2.13'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '2.13'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
28
|
+
name: parser
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0
|
33
|
+
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: unparser
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
56
|
+
name: proc_to_ast
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
61
|
version: '0'
|
54
62
|
type: :runtime
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - ">="
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: '0'
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: rake
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - ">="
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '0'
|
78
83
|
description: RSpec::Parameterized supports simple parameterized test syntax in rspec.
|
@@ -82,8 +87,9 @@ executables: []
|
|
82
87
|
extensions: []
|
83
88
|
extra_rdoc_files: []
|
84
89
|
files:
|
85
|
-
- .gitignore
|
86
|
-
- .rspec
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rspec"
|
92
|
+
- ".travis.yml"
|
87
93
|
- Gemfile
|
88
94
|
- LICENSE
|
89
95
|
- README.md
|
@@ -96,33 +102,26 @@ files:
|
|
96
102
|
- spec/spec_helper.rb
|
97
103
|
homepage: ''
|
98
104
|
licenses: []
|
105
|
+
metadata: {}
|
99
106
|
post_install_message:
|
100
107
|
rdoc_options: []
|
101
108
|
require_paths:
|
102
109
|
- lib
|
103
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
111
|
requirements:
|
106
|
-
- -
|
112
|
+
- - ">="
|
107
113
|
- !ruby/object:Gem::Version
|
108
114
|
version: '0'
|
109
|
-
segments:
|
110
|
-
- 0
|
111
|
-
hash: 502049199
|
112
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
116
|
requirements:
|
115
|
-
- -
|
117
|
+
- - ">="
|
116
118
|
- !ruby/object:Gem::Version
|
117
119
|
version: '0'
|
118
|
-
segments:
|
119
|
-
- 0
|
120
|
-
hash: 502049199
|
121
120
|
requirements: []
|
122
121
|
rubyforge_project:
|
123
|
-
rubygems_version:
|
122
|
+
rubygems_version: 2.2.0
|
124
123
|
signing_key:
|
125
|
-
specification_version:
|
124
|
+
specification_version: 4
|
126
125
|
summary: RSpec::Parameterized supports simple parameterized test syntax in rspec.
|
127
126
|
I was inspired by [udzura's mock](https://gist.github.com/1881139).
|
128
127
|
test_files:
|