em-spec 0.2.0 → 0.2.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/README.rdoc +31 -1
- data/VERSION +1 -1
- data/lib/em-spec/test.rb +4 -5
- data/test/test_spec.rb +2 -2
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Simple BDD API for testing asynchronous Ruby/EventMachine code
|
2
2
|
(c) 2008 Aman Gupta (tmm1)
|
3
3
|
|
4
|
-
em-spec can be used with either bacon or rspec.
|
4
|
+
em-spec can be used with either bacon, test unit or rspec.
|
5
5
|
|
6
6
|
=Rspec
|
7
7
|
There are two ways to use the Rspec extension. To use it as a helper, include EM::SpecHelper in your describe block. You then use the em method to wrap your evented test code. Inside the em block, you must call #done after your expectations. Everything works normally otherwise.
|
@@ -76,6 +76,36 @@ The API is identical to Bacon, except that you must explicitly call 'done' after
|
|
76
76
|
|
77
77
|
end
|
78
78
|
|
79
|
+
=Test::Unit
|
80
|
+
There are two ways to use the Test::Unit extension. To use it as a helper, include EM::TestHelper in your test unit class. You then use the em method to wrap your evented test code. Inside the em block, you must call #done after your expectations. Everything works normally otherwise.
|
81
|
+
|
82
|
+
class EmSpecHelperTest < Test::Unit::TestCase
|
83
|
+
|
84
|
+
include EventMachine::TestHelper
|
85
|
+
|
86
|
+
def test_trivial
|
87
|
+
em do
|
88
|
+
assert_equal 1, 1
|
89
|
+
done
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
The other option is to include EM::Test in your test class. This will patch Test::Unit so that all of your examples run inside an em block automatically:
|
95
|
+
|
96
|
+
class EmSpecTest < Test::Unit::TestCase
|
97
|
+
|
98
|
+
include EventMachine::Test
|
99
|
+
|
100
|
+
def test_timer
|
101
|
+
start = Time.now
|
102
|
+
|
103
|
+
EM.add_timer(0.5){
|
104
|
+
assert_in_delta 0.5, Time.now-start, 0.1
|
105
|
+
done
|
106
|
+
}
|
107
|
+
end
|
108
|
+
end
|
79
109
|
|
80
110
|
Resources:
|
81
111
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/em-spec/test.rb
CHANGED
@@ -69,17 +69,18 @@ module EventMachine
|
|
69
69
|
|
70
70
|
def self.included(cls)
|
71
71
|
cls.class_eval(<<-HERE_DOC, __FILE__, __LINE__)
|
72
|
-
include TestHelper
|
73
|
-
|
74
72
|
def self.default_timeout(timeout)
|
75
73
|
self.send(:remove_const, :DefaultTimeout)
|
76
74
|
self.send(:const_set, :DefaultTimeout, timeout)
|
77
75
|
end
|
78
76
|
|
79
77
|
include TestHelper
|
78
|
+
|
80
79
|
alias_method :run_without_em, :run
|
81
80
|
def run(result, &block)
|
82
81
|
em(DefaultTimeout) { run_without_em(result, &block) }
|
82
|
+
rescue Exception
|
83
|
+
add_error($!)
|
83
84
|
end
|
84
85
|
|
85
86
|
HERE_DOC
|
@@ -88,6 +89,4 @@ module EventMachine
|
|
88
89
|
|
89
90
|
end
|
90
91
|
|
91
|
-
end
|
92
|
-
|
93
|
-
|
92
|
+
end
|
data/test/test_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: em-spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aman Gupta
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-16 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|