mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
@@ -426,6 +426,14 @@ module ActiveRecord
|
||||
@testing = testing
|
||||
end
|
||||
|
||||
def method_missing(method_sym, *arguments, &block)
|
||||
@body.send(method_sym, *arguments, &block)
|
||||
end
|
||||
|
||||
def respond_to?(method_sym, include_private = false)
|
||||
super || @body.respond_to?(method_sym)
|
||||
end
|
||||
|
||||
def each(&block)
|
||||
body.each(&block)
|
||||
end
|
||||
|
||||
@@ -33,6 +33,14 @@ module ActiveRecord
|
||||
@target = target
|
||||
end
|
||||
|
||||
def method_missing(method_sym, *arguments, &block)
|
||||
@target.send(method_sym, *arguments, &block)
|
||||
end
|
||||
|
||||
def respond_to?(method_sym, include_private = false)
|
||||
super || @target.respond_to?(method_sym)
|
||||
end
|
||||
|
||||
def each(&block)
|
||||
@target.each(&block)
|
||||
end
|
||||
|
||||
@@ -77,6 +77,13 @@ module ActiveRecord
|
||||
@management.call(@env)
|
||||
assert ActiveRecord::Base.connection_handler.active_connections?
|
||||
end
|
||||
|
||||
test "proxy is polite to it's body and responds to it" do
|
||||
body = Class.new(String) { def to_path; "/path"; end }.new
|
||||
proxy = ConnectionManagement::Proxy.new(body)
|
||||
assert proxy.respond_to?(:to_path)
|
||||
assert_equal proxy.to_path, "/path"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -203,3 +203,14 @@ class QueryCacheExpiryTest < ActiveRecord::TestCase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class QueryCacheBodyProxyTest < ActiveRecord::TestCase
|
||||
|
||||
test "is polite to it's body and responds to it" do
|
||||
body = Class.new(String) { def to_path; "/path"; end }.new
|
||||
proxy = ActiveRecord::QueryCache::BodyProxy.new(nil, body)
|
||||
assert proxy.respond_to?(:to_path)
|
||||
assert_equal proxy.to_path, "/path"
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user