aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/test/protocol_registry_test.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-02-18 23:43:09 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-02-18 23:43:09 +0000
commit7a67d0f617db7d2962b6c3b80466e21570b244bf (patch)
tree56fa640e31f4f7f22d34a246bc1b197706a07e3a /actionwebservice/test/protocol_registry_test.rb
parentfdecb6843ba8c5b0f718225f343017e11fa7f711 (diff)
downloadrails-7a67d0f617db7d2962b6c3b80466e21570b244bf.tar.gz
rails-7a67d0f617db7d2962b6c3b80466e21570b244bf.tar.bz2
rails-7a67d0f617db7d2962b6c3b80466e21570b244bf.zip
Renamed Action Service to Action Web Service
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@669 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice/test/protocol_registry_test.rb')
-rw-r--r--actionwebservice/test/protocol_registry_test.rb53
1 files changed, 53 insertions, 0 deletions
diff --git a/actionwebservice/test/protocol_registry_test.rb b/actionwebservice/test/protocol_registry_test.rb
new file mode 100644
index 0000000000..8e2b9659a6
--- /dev/null
+++ b/actionwebservice/test/protocol_registry_test.rb
@@ -0,0 +1,53 @@
+require File.dirname(__FILE__) + '/abstract_unit'
+
+
+module Foo
+ include ActionService::Protocol
+
+ def self.append_features(base)
+ super
+ base.register_protocol(BodyOnly, FooMinimalProtocol)
+ base.register_protocol(HeaderAndBody, FooMinimalProtocolTwo)
+ base.register_protocol(HeaderAndBody, FooMinimalProtocolTwo)
+ base.register_protocol(HeaderAndBody, FooFullProtocol)
+ end
+
+ class FooFullProtocol < AbstractProtocol
+ def self.create_protocol_request(klass, request)
+ protocol = FooFullProtocol.new klass
+ ActionService::Protocol::ProtocolRequest.new(protocol, '', '', '', '')
+ end
+ end
+
+ class FooMinimalProtocol < AbstractProtocol
+ def self.create_protocol_request(klass, request)
+ protocol = FooMinimalProtocol.new klass
+ ActionService::Protocol::ProtocolRequest.new(protocol, '', '', '', '')
+ end
+ end
+
+ class FooMinimalProtocolTwo < AbstractProtocol
+ end
+end
+
+class ProtocolRegistry
+ include ActionService::Protocol::Registry
+ include Foo
+
+ def all_protocols
+ header_and_body_protocols + body_only_protocols
+ end
+
+ def protocol_request
+ probe_request_protocol(nil)
+ end
+end
+
+
+class TC_ProtocolRegistry < Test::Unit::TestCase
+ def test_registration
+ registry = ProtocolRegistry.new
+ assert(registry.all_protocols.length == 4)
+ assert(registry.protocol_request.protocol.is_a?(Foo::FooFullProtocol))
+ end
+end