0
@@ -88,6 +88,12 @@ class BaseTest < Test::Unit::TestCase
0
assert_equal('test123', Forum.connection.password)
0
+ def test_should_accept_setting_timeout
0
+ assert_equal(5, Forum.timeout)
0
+ assert_equal(5, Forum.connection.timeout)
0
def test_user_variable_can_be_reset
0
actor = Class.new(ActiveResource::Base)
0
actor.site = 'http://cinema'
0
@@ -108,6 +114,16 @@ class BaseTest < Test::Unit::TestCase
0
assert_nil actor.connection.password
0
+ def test_timeout_variable_can_be_reset
0
+ actor = Class.new(ActiveResource::Base)
0
+ actor.site = 'http://cinema'
0
+ assert_nil actor.timeout
0
+ assert_nil actor.timeout
0
+ assert_nil actor.connection.timeout
0
def test_credentials_from_site_are_decoded
0
actor = Class.new(ActiveResource::Base)
0
actor.site = 'http://my%40email.com:%31%32%33@cinema'
0
@@ -232,6 +248,40 @@ class BaseTest < Test::Unit::TestCase
0
assert_equal fruit.password, apple.password, 'subclass did not adopt changes from parent class'
0
+ def test_timeout_reader_uses_superclass_timeout_until_written
0
+ # Superclass is Object so returns nil.
0
+ assert_nil ActiveResource::Base.timeout
0
+ assert_nil Class.new(ActiveResource::Base).timeout
0
+ # Subclass uses superclass timeout.
0
+ actor = Class.new(Person)
0
+ assert_equal Person.timeout, actor.timeout
0
+ # Changing subclass timeout doesn't change superclass timeout.
0
+ assert_not_equal Person.timeout, actor.timeout
0
+ # Changing superclass timeout doesn't overwrite subclass timeout.
0
+ assert_not_equal Person.timeout, actor.timeout
0
+ # Changing superclass timeout after subclassing changes subclass timeout.
0
+ jester = Class.new(actor)
0
+ assert_equal actor.timeout, jester.timeout
0
+ # Subclasses are always equal to superclass timeout when not overridden.
0
+ fruit = Class.new(ActiveResource::Base)
0
+ apple = Class.new(fruit)
0
+ assert_equal fruit.timeout, apple.timeout, 'subclass did not adopt changes from parent class'
0
+ assert_equal fruit.timeout, apple.timeout, 'subclass did not adopt changes from parent class'
0
def test_updating_baseclass_site_object_wipes_descendent_cached_connection_objects
0
# Subclasses are always equal to superclass site when not overridden
0
fruit = Class.new(ActiveResource::Base)
0
@@ -279,6 +329,22 @@ class BaseTest < Test::Unit::TestCase
0
assert_not_equal(first_connection, second_connection, 'Connection should be re-created')
0
+ def test_updating_baseclass_timeout_wipes_descendent_cached_connection_objects
0
+ # Subclasses are always equal to superclass timeout when not overridden
0
+ fruit = Class.new(ActiveResource::Base)
0
+ apple = Class.new(fruit)
0
+ fruit.site = 'http://market'
0
+ assert_equal fruit.connection.timeout, apple.connection.timeout
0
+ first_connection = apple.connection.object_id
0
+ assert_equal fruit.connection.timeout, apple.connection.timeout
0
+ second_connection = apple.connection.object_id
0
+ assert_not_equal(first_connection, second_connection, 'Connection should be re-created')
0
def test_collection_name
0
assert_equal "people", Person.collection_name
Comments
No one has commented yet.