cross-stub 0.2.2 → 0.2.3
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/.infinity_test +40 -0
- data/HISTORY.txt +5 -0
- data/README.rdoc +4 -4
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/cross-stub.gemspec +6 -5
- data/lib/cross-stub/arguments/proc.rb +7 -1
- data/spec/integration/clearing_instance_stubs_spec.rb +1 -1
- data/spec/integration/clearing_stubs_spec.rb +1 -1
- data/spec/integration/creating_instance_stubs_spec.rb +1 -1
- data/spec/integration/creating_stubs_spec.rb +1 -1
- data/spec/integration/shared_spec.rb +2 -2
- data/spec/integration/stubbing_error_spec.rb +1 -1
- data/spec/spec_helper.rb +18 -0
- metadata +9 -8
data/.infinity_test
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# Hacking RVM
|
2
|
+
module RVM
|
3
|
+
module Shell
|
4
|
+
class AbstractWrapper
|
5
|
+
def raw_stdout_to_parts(c)
|
6
|
+
raise IncompleteCommandError if !command_complete?(c)
|
7
|
+
before, after = c.split(COMMAND_EPILOG_START, 2)
|
8
|
+
epilog, after = after.split(COMMAND_EPILOG_END, 2)
|
9
|
+
# HACK .. need to apply gsub to prevent yaml-related error
|
10
|
+
return before, YAML.load(epilog.strip.gsub("\\\"\n","\"\n")), after
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# See http://github.com/tomas-stefano/infinity_test/wiki/Customize-Infinity-Test
|
17
|
+
infinity_test do
|
18
|
+
|
19
|
+
# Sets bacon mute to avoid excessive noise that makes it hard to pinpoint errors
|
20
|
+
ENV['MUTE_BACON'] = 'true'
|
21
|
+
|
22
|
+
use \
|
23
|
+
:test_framework => :bacon,
|
24
|
+
:rubies => %w(
|
25
|
+
ruby-1.8.6-p399@parsetree
|
26
|
+
ruby-1.8.7-p302
|
27
|
+
ree-1.8.7-2010.02
|
28
|
+
ruby-1.9.2-p0
|
29
|
+
jruby-1.5.3
|
30
|
+
)
|
31
|
+
# NOTE: Right now, 1.9.1 fails due to a marshalling bug.
|
32
|
+
# :rubies => %w(
|
33
|
+
# ruby-1.8.6-p399@parsetree
|
34
|
+
# ruby-1.8.7-p302
|
35
|
+
# ree-1.8.7-2010.02
|
36
|
+
# ruby-1.9.1-p378
|
37
|
+
# ruby-1.9.2-p0
|
38
|
+
# jruby-1.5.3
|
39
|
+
# )
|
40
|
+
end
|
data/HISTORY.txt
CHANGED
data/README.rdoc
CHANGED
@@ -147,12 +147,12 @@ if u need more :]
|
|
147
147
|
== Caveats
|
148
148
|
|
149
149
|
#1. CrossStub uses ruby's Marshal class to dump & load the stubs, thus it has the
|
150
|
-
|
151
|
-
|
150
|
+
same limitations as Marshal (pls note abt a 1.9.1 specific marshal bug at
|
151
|
+
http://redmine.ruby-lang.org/issues/show/3729)
|
152
152
|
|
153
153
|
#2. Under the hood, CrossStub uses Sourcify (http://github.com/ngty/sourcify) for
|
154
|
-
|
155
|
-
|
154
|
+
extracting the methods defined within the proc, u may wish to read Sourcify's
|
155
|
+
gotchas to avoid unnecessary headaches.
|
156
156
|
|
157
157
|
== TODO(s)
|
158
158
|
|
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ begin
|
|
15
15
|
gem.add_development_dependency "otaku", ">= 0.4.0"
|
16
16
|
gem.add_dependency "ruby2ruby", ">= 1.2.5"
|
17
17
|
gem.add_dependency "sexp_processor", ">= 3.0.5"
|
18
|
-
gem.add_dependency "sourcify", ">= 0.
|
18
|
+
gem.add_dependency "sourcify", ">= 0.4.0"
|
19
19
|
gem.required_ruby_version = '>= 1.8.6'
|
20
20
|
# TODO: How do we declare the following optional dependencies ??
|
21
21
|
# 1. gem.add_dependency "memcache-client", "= 1.8.5"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/cross-stub.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cross-stub}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["NgTzeYang"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-10-16}
|
13
13
|
s.description = %q{}
|
14
14
|
s.email = %q{ngty77@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
21
|
".gitignore",
|
22
|
+
".infinity_test",
|
22
23
|
"HISTORY.txt",
|
23
24
|
"LICENSE",
|
24
25
|
"README.rdoc",
|
@@ -80,20 +81,20 @@ Gem::Specification.new do |s|
|
|
80
81
|
s.add_development_dependency(%q<otaku>, [">= 0.4.0"])
|
81
82
|
s.add_runtime_dependency(%q<ruby2ruby>, [">= 1.2.5"])
|
82
83
|
s.add_runtime_dependency(%q<sexp_processor>, [">= 3.0.5"])
|
83
|
-
s.add_runtime_dependency(%q<sourcify>, [">= 0.
|
84
|
+
s.add_runtime_dependency(%q<sourcify>, [">= 0.4.0"])
|
84
85
|
else
|
85
86
|
s.add_dependency(%q<bacon>, [">= 0.0.0"])
|
86
87
|
s.add_dependency(%q<otaku>, [">= 0.4.0"])
|
87
88
|
s.add_dependency(%q<ruby2ruby>, [">= 1.2.5"])
|
88
89
|
s.add_dependency(%q<sexp_processor>, [">= 3.0.5"])
|
89
|
-
s.add_dependency(%q<sourcify>, [">= 0.
|
90
|
+
s.add_dependency(%q<sourcify>, [">= 0.4.0"])
|
90
91
|
end
|
91
92
|
else
|
92
93
|
s.add_dependency(%q<bacon>, [">= 0.0.0"])
|
93
94
|
s.add_dependency(%q<otaku>, [">= 0.4.0"])
|
94
95
|
s.add_dependency(%q<ruby2ruby>, [">= 1.2.5"])
|
95
96
|
s.add_dependency(%q<sexp_processor>, [">= 3.0.5"])
|
96
|
-
s.add_dependency(%q<sourcify>, [">= 0.
|
97
|
+
s.add_dependency(%q<sourcify>, [">= 0.4.0"])
|
97
98
|
end
|
98
99
|
end
|
99
100
|
|
@@ -7,12 +7,18 @@ module CrossStub
|
|
7
7
|
|
8
8
|
def parse(&block)
|
9
9
|
methods = {}
|
10
|
-
block.
|
10
|
+
proc_to_sexp(block).each_of_type(:defn) do |_sexp|
|
11
11
|
methods[_sexp.to_a[1]] = RUBY_2_RUBY.process(_sexp)
|
12
12
|
end
|
13
13
|
methods
|
14
14
|
end
|
15
15
|
|
16
|
+
def proc_to_sexp(block)
|
17
|
+
block.to_sexp(:stip_enclosure => true, :attached_to => :xstub) do |body|
|
18
|
+
body =~ /^(.*\W|)def\W/
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
16
22
|
end
|
17
23
|
end
|
18
24
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
-
require File.join(File.dirname(__FILE__), '..', 'includes')
|
1
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'spec_helper')
|
2
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'includes')
|
3
3
|
|
4
4
|
shared 'has standard setup' do
|
5
5
|
before { CrossStub.setup(cache_store(@store_type)) }
|
data/spec/spec_helper.rb
CHANGED
@@ -2,4 +2,22 @@ require 'rubygems'
|
|
2
2
|
require 'bacon'
|
3
3
|
require File.join(File.dirname(__FILE__), 'includes')
|
4
4
|
|
5
|
+
Bacon.extend(Bacon::TestUnitOutput)
|
5
6
|
Bacon.summary_on_exit
|
7
|
+
|
8
|
+
if ENV['MUTE_BACON'] == 'true'
|
9
|
+
Bacon.extend(Module.new {
|
10
|
+
|
11
|
+
def handle_requirement(description)
|
12
|
+
unless (error = yield).empty?
|
13
|
+
print error[0..0]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def handle_summary
|
18
|
+
puts "", " %d tests, %d assertions, %d failures, %d errors" %
|
19
|
+
Bacon::Counter.values_at(:specifications, :requirements, :failed, :errors)
|
20
|
+
end
|
21
|
+
|
22
|
+
})
|
23
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cross-stub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- NgTzeYang
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-16 00:00:00 +08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -90,12 +90,12 @@ dependencies:
|
|
90
90
|
requirements:
|
91
91
|
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
hash:
|
93
|
+
hash: 15
|
94
94
|
segments:
|
95
95
|
- 0
|
96
|
-
-
|
97
|
-
-
|
98
|
-
version: 0.
|
96
|
+
- 4
|
97
|
+
- 0
|
98
|
+
version: 0.4.0
|
99
99
|
type: :runtime
|
100
100
|
version_requirements: *id005
|
101
101
|
description: ""
|
@@ -110,6 +110,7 @@ extra_rdoc_files:
|
|
110
110
|
files:
|
111
111
|
- .document
|
112
112
|
- .gitignore
|
113
|
+
- .infinity_test
|
113
114
|
- HISTORY.txt
|
114
115
|
- LICENSE
|
115
116
|
- README.rdoc
|