fraggle-spanx 4.0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,78 @@
1
+ require 'test/unit'
2
+ require 'fraggle/connection'
3
+
4
+ class TestConn
5
+ include Fraggle::Connection
6
+
7
+ attr_reader :sent, :received
8
+ attr_writer :err
9
+
10
+ def initialize(addr)
11
+ super(addr)
12
+ @sent = []
13
+ @received = []
14
+ @ticks = []
15
+ end
16
+
17
+ def send_request(req, blk)
18
+ @sent << super(req, blk)
19
+ req
20
+ end
21
+
22
+ def receive_response(res)
23
+ @received << res
24
+ super(res)
25
+ end
26
+
27
+ def send_data(_)
28
+ end
29
+
30
+ def close_connection
31
+ unbind
32
+ end
33
+
34
+ # Mimic EMs next_tick
35
+ def next_tick(&blk)
36
+ @ticks << blk
37
+ end
38
+
39
+ # Mimic a turn in the reactor
40
+ def tick!
41
+ @ticks.each {|blk| blk.call }
42
+ @ticks.clear
43
+ end
44
+
45
+ end
46
+
47
+ class Test::Unit::TestCase
48
+
49
+ C = Fraggle::Connection
50
+ V = Fraggle::Request::Verb
51
+ F = Fraggle::Response
52
+ E = Fraggle::Response::Err
53
+
54
+ class Log < Array
55
+ def call(e, err)
56
+ self << [e, err]
57
+ end
58
+
59
+ def to_proc
60
+ me = self
61
+ Proc.new {|e, err| me.call(e, err) }
62
+ end
63
+ end
64
+
65
+ def request(verb, attrs={})
66
+ logable(Fraggle::Request.new(attrs.merge(:verb => verb)))
67
+ end
68
+
69
+ def logable(req)
70
+ log = Log.new
71
+ [req, log]
72
+ end
73
+
74
+ def reply(tag, attrs={})
75
+ Fraggle::Response.new(attrs.merge(:tag => tag))
76
+ end
77
+
78
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fraggle-spanx
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Blake Mizerany
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-08-04 00:00:00.000000000 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: beefcake-spanx
17
+ requirement: &70124608061300 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *70124608061300
26
+ - !ruby/object:Gem::Dependency
27
+ name: eventmachine
28
+ requirement: &70124608060880 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70124608060880
37
+ - !ruby/object:Gem::Dependency
38
+ name: turn
39
+ requirement: &70124608060460 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *70124608060460
48
+ - !ruby/object:Gem::Dependency
49
+ name: statsample
50
+ requirement: &70124608060040 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *70124608060040
59
+ - !ruby/object:Gem::Dependency
60
+ name: rake
61
+ requirement: &70124608059620 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *70124608059620
70
+ description: An EventMachine Client for Doozer
71
+ email:
72
+ - blake.mizerany@gmail.com
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - LICENSE
80
+ - README.md
81
+ - Rakefile
82
+ - bench/gs.rb
83
+ - example/getdir.rb
84
+ - example/readme.rb
85
+ - example/walk.rb
86
+ - example/watch.rb
87
+ - fraggle.gemspec
88
+ - lib/fraggle.rb
89
+ - lib/fraggle/client.rb
90
+ - lib/fraggle/connection.rb
91
+ - lib/fraggle/msg.pb.rb
92
+ - lib/fraggle/response.rb
93
+ - lib/fraggle/version.rb
94
+ - test/fraggle_client_test.rb
95
+ - test/fraggle_protocol_test.rb
96
+ - test/fraggle_test.rb
97
+ - test/fraggle_transaction_test.rb
98
+ - test/helper.rb
99
+ has_rdoc: true
100
+ homepage: ''
101
+ licenses: []
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ segments:
113
+ - 0
114
+ hash: 985476466983769739
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ segments:
122
+ - 0
123
+ hash: 985476466983769739
124
+ requirements: []
125
+ rubyforge_project: fraggle
126
+ rubygems_version: 1.6.2
127
+ signing_key:
128
+ specification_version: 3
129
+ summary: An EventMachine Client for Doozer
130
+ test_files:
131
+ - test/fraggle_client_test.rb
132
+ - test/fraggle_protocol_test.rb
133
+ - test/fraggle_test.rb
134
+ - test/fraggle_transaction_test.rb
135
+ - test/helper.rb