<testsuite name="rspec2" tests="627" skipped="2" failures="0" errors="0" time="10.281095" timestamp="2022-09-02T09:28:58+00:00" hostname="fv-az345-243">
<properties>
<property name="seed" value="30049"/>
</properties>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #errback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.007011"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #errback adds a callback that is called when #fail is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001269"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #callback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001313"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #callback adds a callback that is called when #succed is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.000873"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #fail calls the callbacks defined with #errback, but not the ones added for success #callback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001017"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::ProtocolMessage behaves like a safe Deferrable #succeed calls the callbacks defined with #callback, but not the ones added for #errback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.000918"></testcase>
<testcase classname="spec.unit.realtime.websocket_transport_spec" name="Ably::Realtime::Connection::WebsocketTransport behaves like an incoming protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub supports valid ProtocolMessage messages" file="./spec/unit/realtime/websocket_transport_spec.rb" time="0.002949"></testcase>
<testcase classname="spec.unit.realtime.websocket_transport_spec" name="Ably::Realtime::Connection::WebsocketTransport behaves like an incoming protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub fail with unacceptable STATE event names" file="./spec/unit/realtime/websocket_transport_spec.rb" time="0.002262"></testcase>
<testcase classname="spec.unit.realtime.websocket_transport_spec" name="Ably::Realtime::Connection::WebsocketTransport behaves like an outgoing protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub fail with unacceptable STATE event names" file="./spec/unit/realtime/websocket_transport_spec.rb" time="0.001241"></testcase>
<testcase classname="spec.unit.realtime.websocket_transport_spec" name="Ably::Realtime::Connection::WebsocketTransport behaves like an outgoing protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub supports valid ProtocolMessage messages" file="./spec/unit/realtime/websocket_transport_spec.rb" time="0.001377"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model is immutable prevents changes" file="./spec/unit/models/auth_details_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model is immutable dups options" file="./spec/unit/models/auth_details_spec.rb" time="0.000795"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/auth_details_spec.rb" time="0.000761"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/auth_details_spec.rb" time="0.001149"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model attributes #access_token retrieves attribute :access_token" file="./spec/unit/models/auth_details_spec.rb" time="0.005849"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/auth_details_spec.rb" time="0.002710"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model #== is true when attributes are the same" file="./spec/unit/models/auth_details_spec.rb" time="0.001011"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/auth_details_spec.rb" time="0.000769"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model #== is false when class type differs" file="./spec/unit/models/auth_details_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/auth_details_spec.rb" time="0.000764"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails == is true when attributes are the same" file="./spec/unit/models/auth_details_spec.rb" time="0.000838"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails == is false when class type differs" file="./spec/unit/models/auth_details_spec.rb" time="0.000717"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails == is false when attributes are not the same" file="./spec/unit/models/auth_details_spec.rb" time="0.000889"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails AuthDetails conversion methods with a JSON object returns a new AuthDetails object from the JSON" file="./spec/unit/models/auth_details_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.models.auth_details_spec" name="Ably::Models::AuthDetails AuthDetails conversion methods with a AuthDetails object returns the AuthDetails object" file="./spec/unit/models/auth_details_spec.rb" time="0.000707"></testcase>
<testcase classname="spec.unit.models.channel_details_spec" name="Ably::Models::ChannelDetails#status should return status" file="./spec/unit/models/channel_details_spec.rb" time="0.001377"></testcase>
<testcase classname="spec.unit.models.channel_details_spec" name="Ably::Models::ChannelDetails#channel_id should return channel id" file="./spec/unit/models/channel_details_spec.rb" time="0.000916"></testcase>
<testcase classname="spec.unit.models.channel_details_spec" name="Ably::Models::ChannelDetails#name should return name" file="./spec/unit/models/channel_details_spec.rb" time="0.000645"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection behaves like an incoming protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub supports valid ProtocolMessage messages" file="./spec/unit/realtime/connection_spec.rb" time="0.002255"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection behaves like an incoming protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub fail with unacceptable STATE event names" file="./spec/unit/realtime/connection_spec.rb" time="0.001445"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection callbacks are supported for valid STATE events" file="./spec/unit/realtime/connection_spec.rb" time="0.001466"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection callbacks fail with unacceptable STATE event names" file="./spec/unit/realtime/connection_spec.rb" time="0.001399"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection behaves like an outgoing protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub fail with unacceptable STATE event names" file="./spec/unit/realtime/connection_spec.rb" time="0.001251"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection behaves like an outgoing protocol message bus behaves like a protocol message bus __protocol_msgbus__ PubSub supports valid ProtocolMessage messages" file="./spec/unit/realtime/connection_spec.rb" time="0.001415"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection connection resume callbacks #off_resume registers a callback" file="./spec/unit/realtime/connection_spec.rb" time="0.001381"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection connection resume callbacks #on_resume registers a callback" file="./spec/unit/realtime/connection_spec.rb" time="0.001312"></testcase>
<testcase classname="spec.unit.realtime.connection_spec" name="Ably::Realtime::Connection connection resume callbacks #trigger_resumed executes the callbacks" file="./spec/unit/realtime/connection_spec.rb" time="0.001333"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum class method #to_sym_arr returns all keys as symbols" file="./spec/unit/modules/enum_spec.rb" time="0.002210"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to class converts strings" file="./spec/unit/modules/enum_spec.rb" time="0.000721"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to class converts symbols" file="./spec/unit/modules/enum_spec.rb" time="0.000655"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to class converts integer index" file="./spec/unit/modules/enum_spec.rb" time="0.002900"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to instance converts integer index" file="./spec/unit/modules/enum_spec.rb" time="0.000980"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to instance converts symbols" file="./spec/unit/modules/enum_spec.rb" time="0.000657"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum convertor method added to instance converts strings" file="./spec/unit/modules/enum_spec.rb" time="0.000717"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Hash class provides a MixedCase const for each provided value" file="./spec/unit/modules/enum_spec.rb" time="0.000751"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Hash class #get by string value returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000760"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Hash class #get by integer index for 1 returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000771"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Hash class #get by integer index for 5 returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000657"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Hash class #get by invalid integer index raises an exception" file="./spec/unit/modules/enum_spec.rb" time="0.000695"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from another Enum provides a MixedCase const for each provided value" file="./spec/unit/modules/enum_spec.rb" time="0.000750"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum using include? to compare Enum values allows different type comparison 1" file="./spec/unit/modules/enum_spec.rb" time="0.000729"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum using include? to compare Enum values allows different type comparison 2" file="./spec/unit/modules/enum_spec.rb" time="0.000716"><skipped/></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum using include? to compare Enum values allows same type comparison" file="./spec/unit/modules/enum_spec.rb" time="0.000630"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum using include? to compare Enum values #match_any? replacement for include? returns false if there are no matches in any value in the arguments provided" file="./spec/unit/modules/enum_spec.rb" time="0.000744"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum using include? to compare Enum values #match_any? replacement for include? matches any value in the arguments provided" file="./spec/unit/modules/enum_spec.rb" time="0.000750"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum two similar Enums with shared symbol values fails to match when using an incompatible method with a converter method" file="./spec/unit/modules/enum_spec.rb" time="0.000763"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum two similar Enums with shared symbol values provides compatability for the equivalent symbol values" file="./spec/unit/modules/enum_spec.rb" time="0.000675"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum two similar Enums with shared symbol values does not consider different symbol values the same" file="./spec/unit/modules/enum_spec.rb" time="0.000694"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum two similar Enums with shared symbol values matches symbols when used with a converter method" file="./spec/unit/modules/enum_spec.rb" time="0.000734"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #to_s returns the Enum name" file="./spec/unit/modules/enum_spec.rb" time="0.000731"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class behaves like Enumerable" file="./spec/unit/modules/enum_spec.rb" time="0.000637"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class returns the provided Enum name" file="./spec/unit/modules/enum_spec.rb" time="0.000739"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class provides a MixedCase const for each provided value" file="./spec/unit/modules/enum_spec.rb" time="0.000724"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class freezes the Enum" file="./spec/unit/modules/enum_spec.rb" time="0.002252"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class prevents modification" file="./spec/unit/modules/enum_spec.rb" time="0.000817"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #size returns the number of enum items" file="./spec/unit/modules/enum_spec.rb" time="0.000640"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #size has alias #length" file="./spec/unit/modules/enum_spec.rb" time="0.000706"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #[] is an alias for get" file="./spec/unit/modules/enum_spec.rb" time="0.001010"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #each returns an enumerator" file="./spec/unit/modules/enum_spec.rb" time="0.000728"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #each yields each channel" file="./spec/unit/modules/enum_spec.rb" time="0.000744"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #get by symbol returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000662"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #get by enum returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.002099"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #get by invalid type raises an error" file="./spec/unit/modules/enum_spec.rb" time="0.001356"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #get by string value returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000796"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum defined Enum from Array class #get by integer index returns an enum" file="./spec/unit/modules/enum_spec.rb" time="0.000790"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #== compares with a string" file="./spec/unit/modules/enum_spec.rb" time="0.000671"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #== compares with a integer index" file="./spec/unit/modules/enum_spec.rb" time="0.000732"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #== compares with itself" file="./spec/unit/modules/enum_spec.rb" time="0.000741"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #== compares with a symbol" file="./spec/unit/modules/enum_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #== compares with other Objects" file="./spec/unit/modules/enum_spec.rb" time="0.000628"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #to_json returns a symbol string key value" file="./spec/unit/modules/enum_spec.rb" time="0.000619"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #to_s returns ENUMNAME.CamelCase name" file="./spec/unit/modules/enum_spec.rb" time="0.000734"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #to_i returns the Enum index" file="./spec/unit/modules/enum_spec.rb" time="0.000720"></testcase>
<testcase classname="spec.unit.modules.enum_spec" name="Ably::Modules::Enum Enum instance #to_sym returns a snake_case symbol" file="./spec/unit/modules/enum_spec.rb" time="0.000609"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #errback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001649"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #errback adds a callback that is called when #fail is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001085"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #fail calls the callbacks defined with #errback, but not the ones added for success #callback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001068"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #succeed calls the callbacks defined with #callback, but not the ones added for #errback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001053"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #callback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001442"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::Message behaves like a safe Deferrable #callback adds a callback that is called when #succed is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001012"></testcase>
<testcase classname="spec.unit.models.channel_status_spec" name="Ably::Models::ChannelStatus#is_active when occupancy is active should return true" file="./spec/unit/models/channel_status_spec.rb" time="0.000779"></testcase>
<testcase classname="spec.unit.models.channel_status_spec" name="Ably::Models::ChannelStatus#is_active when occupancy is not active should return false" file="./spec/unit/models/channel_status_spec.rb" time="0.000775"></testcase>
<testcase classname="spec.unit.models.channel_status_spec" name="Ably::Models::ChannelStatus#occupancy should return occupancy object" file="./spec/unit/models/channel_status_spec.rb" time="0.000977"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels [] creates a channel" file="./spec/unit/realtime/channels_spec.rb" time="0.001239"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists will leave the options intact on the channel if not provided" file="./spec/unit/realtime/channels_spec.rb" time="0.001438"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists will update the options on the channel if provided (RSN3c)" file="./spec/unit/realtime/channels_spec.rb" time="0.001481"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists ChannelOptions object is expected to be a kind of Ably::Models::ChannelOptions" file="./spec/unit/realtime/channels_spec.rb" time="0.002508"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists ChannelOptions object will reuse a channel object if it exists (RTS3a)" file="./spec/unit/realtime/channels_spec.rb" time="0.001458"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists hash is expected to be a kind of Hash" file="./spec/unit/realtime/channels_spec.rb" time="0.000811"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when an existing channel exists hash will reuse a channel object if it exists (RTS3a)" file="./spec/unit/realtime/channels_spec.rb" time="0.001336"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when channel doesn&apos;t exist ChannelOptions object creates a channel (RTS3a)" file="./spec/unit/realtime/channels_spec.rb" time="0.001301"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when channel doesn&apos;t exist ChannelOptions object is expected to be a kind of Ably::Models::ChannelOptions" file="./spec/unit/realtime/channels_spec.rb" time="0.000732"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when channel doesn&apos;t exist hash creates a channel (RTS3a)" file="./spec/unit/realtime/channels_spec.rb" time="0.001172"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels creating channels #get when channel doesn&apos;t exist hash is expected to be a kind of Hash" file="./spec/unit/realtime/channels_spec.rb" time="0.000646"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels is Enumerable provides #length" file="./spec/unit/realtime/channels_spec.rb" time="0.001319"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels is Enumerable allows enumeration" file="./spec/unit/realtime/channels_spec.rb" time="0.001306"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels is Enumerable #each returns an enumerator" file="./spec/unit/realtime/channels_spec.rb" time="0.001260"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels is Enumerable #each yields each channel" file="./spec/unit/realtime/channels_spec.rb" time="0.001270"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels#fetch retrieves a channel if it exists" file="./spec/unit/realtime/channels_spec.rb" time="0.001180"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels#fetch calls the block if channel is missing" file="./spec/unit/realtime/channels_spec.rb" time="0.000882"></testcase>
<testcase classname="spec.unit.realtime.channels_spec" name="Ably::Realtime::Channels destroying channels #release detaches and then releases the channel resources" file="./spec/unit/realtime/channels_spec.rb" time="0.001597"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded_array (#TM3) with no encoding returns an Array of message objects" file="./spec/unit/models/message_spec.rb" time="0.001524"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#size nil (#TO3l8e) should return 19 bytes" file="./spec/unit/models/message_spec.rb" time="0.000915"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#size Object (#TO3l8b) should return 38 bytes" file="./spec/unit/models/message_spec.rb" time="0.000936"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#size Array (#TO3l8b) should return 24 bytes" file="./spec/unit/models/message_spec.rb" time="0.000890"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#size String (#TO3l8a) should return 33 bytes" file="./spec/unit/models/message_spec.rb" time="0.000863"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#size extras (#TO3l8d) should return 57 bytes" file="./spec/unit/models/message_spec.rb" time="0.002541"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message part of ProtocolMessage should not allow changes to the payload" file="./spec/unit/models/message_spec.rb" time="0.001220"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message part of ProtocolMessage should not modify the data payload" file="./spec/unit/models/message_spec.rb" time="0.001078"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message part of ProtocolMessage should generate a message ID from the index, serial and connection id" file="./spec/unit/models/message_spec.rb" time="0.001134"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message part of ProtocolMessage with identical message objects provide a unique ID:index" file="./spec/unit/models/message_spec.rb" time="0.001193"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message part of ProtocolMessage with identical message objects recognises the index based on the object ID as opposed to message payload" file="./spec/unit/models/message_spec.rb" time="0.001161"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message from REST request with embedded fields without protocol message #id uses embedded ID" file="./spec/unit/models/message_spec.rb" time="0.000767"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message from REST request with embedded fields without protocol message #timestamp uses embedded timestamp" file="./spec/unit/models/message_spec.rb" time="0.001341"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message from REST request with embedded fields with protocol message #id prefers embedded ID" file="./spec/unit/models/message_spec.rb" time="0.001377"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message from REST request with embedded fields with protocol message #timestamp prefers embedded timestamp" file="./spec/unit/models/message_spec.rb" time="0.000842"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#protocol_message_index (#RTL21) should return correct protocol_message_index" file="./spec/unit/models/message_spec.rb" time="0.001054"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Java naming converts the attribute to ruby symbol naming convention" file="./spec/unit/models/message_spec.rb" time="0.000863"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#extras (#TM2i) when a Json Array contains a Json Array object" file="./spec/unit/models/message_spec.rb" time="0.000899"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#extras (#TM2i) when missing is nil" file="./spec/unit/models/message_spec.rb" time="0.000882"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#extras (#TM2i) when a Hash contains a Hash Json object" file="./spec/unit/models/message_spec.rb" time="0.000832"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#extras (#TM2i) when a string raises an exception" file="./spec/unit/models/message_spec.rb" time="0.000901"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#timestamp retrieves attribute :timestamp as Time object from ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000990"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#to_json with valid data converts the attribute back to Java mixedCase notation using string keys" file="./spec/unit/models/message_spec.rb" time="0.000917"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#to_json with binary data adds Base64 encoding" file="./spec/unit/models/message_spec.rb" time="0.000894"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#to_json with binary data encodes as Base64 so that it can be converted to UTF-8 automatically by JSON#dump" file="./spec/unit/models/message_spec.rb" time="0.019659"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #data retrieves attribute :data" file="./spec/unit/models/message_spec.rb" time="0.014286"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #id retrieves attribute :id" file="./spec/unit/models/message_spec.rb" time="0.001082"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/message_spec.rb" time="0.000975"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #client_id retrieves attribute :client_id" file="./spec/unit/models/message_spec.rb" time="0.000903"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/message_spec.rb" time="0.000871"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #encoding retrieves attribute :encoding" file="./spec/unit/models/message_spec.rb" time="0.000918"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model attributes #name retrieves attribute :name" file="./spec/unit/models/message_spec.rb" time="0.000932"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/message_spec.rb" time="0.001006"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model is immutable prevents changes" file="./spec/unit/models/message_spec.rb" time="0.000916"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model is immutable dups options" file="./spec/unit/models/message_spec.rb" time="0.000861"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/message_spec.rb" time="0.000949"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model #== is true when attributes are the same" file="./spec/unit/models/message_spec.rb" time="0.001015"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model #== is false when class type differs" file="./spec/unit/models/message_spec.rb" time="0.000823"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message serialization of the Message object (#RSL1j) behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/message_spec.rb" time="0.000919"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with no encoding returns a message object" file="./spec/unit/models/message_spec.rb" time="0.001116"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with no encoding with a block does not call the block" file="./spec/unit/models/message_spec.rb" time="0.001034"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with a Cipher encoding returns a message object with the residual incompatible transforms left in the encoding property" file="./spec/unit/models/message_spec.rb" time="0.001927"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with an encoding returns a message object" file="./spec/unit/models/message_spec.rb" time="0.001163"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with invalid Cipher encoding with a block calls the block with the exception" file="./spec/unit/models/message_spec.rb" time="2.015037"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with invalid Cipher encoding without a block raises an exception" file="./spec/unit/models/message_spec.rb" time="0.001509"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#from_encoded (#TM3) with a custom encoding returns a message object with the residual incompatible transforms left in the encoding property" file="./spec/unit/models/message_spec.rb" time="0.001231"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message without ProtocolMessage initializes with the JSON" file="./spec/unit/models/message_spec.rb" time="0.000929"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message without ProtocolMessage raises an exception when accessing ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000900"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message without ProtocolMessage has no ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000804"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message without ProtocolMessage returns a Message object" file="./spec/unit/models/message_spec.rb" time="0.000795"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message with ProtocolMessage initializes with the JSON" file="./spec/unit/models/message_spec.rb" time="0.000914"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message with ProtocolMessage returns a Message object" file="./spec/unit/models/message_spec.rb" time="0.000749"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message with ProtocolMessage has a ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with another Message with ProtocolMessage provides access to ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000827"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON with ProtocolMessage provides access to ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000881"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON with ProtocolMessage returns a Message object" file="./spec/unit/models/message_spec.rb" time="0.000825"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON with ProtocolMessage initializes with the JSON" file="./spec/unit/models/message_spec.rb" time="0.000814"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON with ProtocolMessage has a ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000842"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON without ProtocolMessage initializes with the JSON" file="./spec/unit/models/message_spec.rb" time="0.000828"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON without ProtocolMessage has no ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000815"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON without ProtocolMessage returns a Message object" file="./spec/unit/models/message_spec.rb" time="0.000810"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message Message conversion method with JSON without ProtocolMessage raises an exception when accessing ProtocolMessage" file="./spec/unit/models/message_spec.rb" time="0.000744"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as ASCII_8BIT string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.000982"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as ASCII_8BIT string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000780"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as SHIFT_JIS string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.001345"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as SHIFT_JIS string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000866"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as UTF_8 string is permitted" file="./spec/unit/models/message_spec.rb" time="0.000850"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as UTF_8 string remains as UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000828"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as Nil is permitted" file="./spec/unit/models/message_spec.rb" time="0.000788"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :client_id as Integer raises an argument error" file="./spec/unit/models/message_spec.rb" time="0.000794"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as UTF_8 string remains as UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000832"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as UTF_8 string is permitted" file="./spec/unit/models/message_spec.rb" time="0.000825"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as Nil is permitted" file="./spec/unit/models/message_spec.rb" time="0.000792"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as ASCII_8BIT string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000817"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as ASCII_8BIT string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.000838"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as Integer raises an argument error" file="./spec/unit/models/message_spec.rb" time="0.000754"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as SHIFT_JIS string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000827"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :name as SHIFT_JIS string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.000822"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as ASCII_8BIT string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.000858"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as ASCII_8BIT string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000798"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as UTF_8 string is permitted" file="./spec/unit/models/message_spec.rb" time="0.000796"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as UTF_8 string remains as UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000795"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as Integer raises an argument error" file="./spec/unit/models/message_spec.rb" time="0.000830"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as SHIFT_JIS string is compatible with original encoding" file="./spec/unit/models/message_spec.rb" time="0.000810"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as SHIFT_JIS string gets converted to UTF-8" file="./spec/unit/models/message_spec.rb" time="0.000804"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message initialized with :encoding as Nil is permitted" file="./spec/unit/models/message_spec.rb" time="0.000785"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#delta_extras (TM2i) when delta should return 1234-1234-5678-9009 message id" file="./spec/unit/models/message_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#delta_extras (TM2i) when delta should return vcdiff format" file="./spec/unit/models/message_spec.rb" time="0.000777"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#delta_extras (TM2i) when no delta should return nil" file="./spec/unit/models/message_spec.rb" time="0.000760"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#connection_id attribute when this model has no connectionId attribute with a protocol message with a connectionId uses the model value" file="./spec/unit/models/message_spec.rb" time="0.000888"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#connection_id attribute when this model has no connectionId attribute and no protocol message uses the model value" file="./spec/unit/models/message_spec.rb" time="0.000807"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#connection_id attribute when this model has a connectionId attribute with a protocol message with a different connectionId uses the model value" file="./spec/unit/models/message_spec.rb" time="0.000843"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#connection_id attribute when this model has a connectionId attribute but no protocol message uses the model value" file="./spec/unit/models/message_spec.rb" time="0.000796"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#id (#RSL1j) exposes the #id attribute" file="./spec/unit/models/message_spec.rb" time="0.000779"></testcase>
<testcase classname="spec.unit.models.message_spec" name="Ably::Models::Message#id (#RSL1j) #as_json exposes the #id attribute" file="./spec/unit/models/message_spec.rb" time="0.000800"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription camelCase constructor attributes are rubyfied and exposed as underscore case" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000775"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription camelCase constructor attributes are generated when the object is serialised to JSON" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000778"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#for_client_id constructor with an invalid valid object accepts a Hash object" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000764"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#for_client_id constructor with a valid object accepts a Hash object" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000818"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#device_id and #device_id= rejects non string or nil values" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000782"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#device_id and #device_id= setter accepts a string value and getter returns the new value" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000775"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#device_id and #device_id= setter accepts nil" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000780"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#channel and #channel= rejects non string or nil values" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000727"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#channel and #channel= setter accepts a string value and getter returns the new value" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.002929"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#channel and #channel= setter accepts nil" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000962"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription conversion method PushChannelSubscription accepts a PushChannelSubscription object" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000943"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#client_id and #client_id= setter accepts nil" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000850"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#client_id and #client_id= setter accepts a string value and getter returns the new value" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000809"></testcase>
<testcase classname="spec.unit.models.push_channel_subscription_spec" name="Ably::Models::PushChannelSubscription#client_id and #client_id= rejects non string or nil values" file="./spec/unit/models/push_channel_subscription_spec.rb" time="0.000839"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest from_json (#TE6) with JSON-like object returns a valid TokenRequest object" file="./spec/unit/models/token_request_spec.rb" time="0.001021"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest from_json (#TE6) with Ruby idiomatic Hash object returns a valid TokenRequest object" file="./spec/unit/models/token_request_spec.rb" time="0.000900"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest from_json (#TE6) with JSON string returns a valid TokenRequest object" file="./spec/unit/models/token_request_spec.rb" time="0.001003"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #timestamp with :timestamp option as milliseconds in constructor retrieves attribute :timestamp as Time" file="./spec/unit/models/token_request_spec.rb" time="0.000811"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #timestamp when converted to JSON is in milliseconds since epoch" file="./spec/unit/models/token_request_spec.rb" time="0.000794"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #timestamp with :timestamp option as Time in constructor retrieves attribute :timestamp as Time" file="./spec/unit/models/token_request_spec.rb" time="0.000822"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #ttl when converted to JSON is in milliseconds since epoch" file="./spec/unit/models/token_request_spec.rb" time="0.000771"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #ttl with :ttl option as milliseconds in constructor retrieves attribute :ttl as seconds" file="./spec/unit/models/token_request_spec.rb" time="0.000763"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest attributes #capability retrieves attribute :capability as parsed JSON" file="./spec/unit/models/token_request_spec.rb" time="0.000814"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest TokenRequest conversion methods with a JSON object returns a new TokenRequest object from the JSON" file="./spec/unit/models/token_request_spec.rb" time="0.000672"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest TokenRequest conversion methods with a TokenRequest object returns the TokenRequest object" file="./spec/unit/models/token_request_spec.rb" time="0.000736"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #nonce retrieves attribute :nonce" file="./spec/unit/models/token_request_spec.rb" time="0.000787"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/token_request_spec.rb" time="0.000806"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #client_id retrieves attribute :client_id" file="./spec/unit/models/token_request_spec.rb" time="0.000786"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #mac retrieves attribute :mac" file="./spec/unit/models/token_request_spec.rb" time="0.000770"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/token_request_spec.rb" time="0.000692"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model attributes #key_name retrieves attribute :key_name" file="./spec/unit/models/token_request_spec.rb" time="0.000713"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model is immutable dups options" file="./spec/unit/models/token_request_spec.rb" time="0.000802"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model is immutable prevents changes" file="./spec/unit/models/token_request_spec.rb" time="0.000761"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/token_request_spec.rb" time="0.000799"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model #== is true when attributes are the same" file="./spec/unit/models/token_request_spec.rb" time="0.000698"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model #== is false when class type differs" file="./spec/unit/models/token_request_spec.rb" time="0.000676"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/token_request_spec.rb" time="0.000790"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/token_request_spec.rb" time="0.000789"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest == is true when attributes are the same" file="./spec/unit/models/token_request_spec.rb" time="0.000699"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest == is false when class type differs" file="./spec/unit/models/token_request_spec.rb" time="0.000602"></testcase>
<testcase classname="spec.unit.models.token_request_spec" name="Ably::Models::TokenRequest == is false when attributes are not the same" file="./spec/unit/models/token_request_spec.rb" time="0.000730"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter #state= sets current state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000845"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter #state returns current state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000638"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter #change_state sets current state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if state change arguments are passed to else blocks" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000928"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if state change arguments are passed to success blocks" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000758"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block blocks are not called if the state does not change" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000721"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block success block is never called after failure block was called" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000830"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block success block is never called again once target_state is reached" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000808"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block success block is called once target_state is reached" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000770"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block failure block is never called again once the block has been called previously" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000743"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block failure block has arguments from the error state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000847"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block failure block is called once a state other than target_state is reached" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000789"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with :else option block failure block is never called after success block was called" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000809"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with an array of targets calls the block only once" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000747"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with an array of targets calls the block when one of the states is reached" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000682"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with an array of targets calls the block if in the provided state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000654"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with an array of targets does not remove all blocks on success" file="./spec/unit/modules/state_emitter_spec.rb" time="0.001009"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if without :else option block calls the block if in the provided state" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000640"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if without :else option block calls the block when the state is reached" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if without :else option block calls the block only once" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000801"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with blocks that raise exceptions failure block catches exceptions in the provided block, logs the error and continues" file="./spec/unit/modules/state_emitter_spec.rb" time="0.001098"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_or_if with blocks that raise exceptions success block catches exceptions in the provided block, logs the error and continues" file="./spec/unit/modules/state_emitter_spec.rb" time="0.001057"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#unsafe_once_state_changed does not catch exceptions in the provided block" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000741"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#unsafe_once_or_if success block catches exceptions in the provided block, logs the error and continues" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000726"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#unsafe_once_or_if failure block catches exceptions in the provided block, logs the error and continues" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000784"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state STATE coercion allows valid STATE values" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000730"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state STATE coercion prevents invalid STATE values" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000710"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state? returns true if state matches" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000747"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state? returns false if state does not match" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000660"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state? and convenience predicates for states returns false for #connecting? if state does not match" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000614"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#state? and convenience predicates for states returns true for #initializing? if state matches" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000608"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#change_state with arguments passes the arguments through to the executed callback" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000853"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_state_changed is not called if the state does not change" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000783"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_state_changed catches exceptions in the provided block, logs the error and continues" file="./spec/unit/modules/state_emitter_spec.rb" time="0.003093"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_state_changed calls the block for any state change once" file="./spec/unit/modules/state_emitter_spec.rb" time="0.001135"></testcase>
<testcase classname="spec.unit.modules.state_emitter_spec" name="Ably::Modules::StateEmitter#once_state_changed emits arguments to the block" file="./spec/unit/modules/state_emitter_spec.rb" time="0.000781"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#client_id and #client_id= setter accepts nil" file="./spec/unit/models/device_details_spec.rb" time="0.000814"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#client_id and #client_id= setter accepts a string value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000922"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#client_id and #client_id= rejects non string or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000757"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#device_secret and #device_secret= setter accepts a string value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000886"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#device_secret and #device_secret= setter accepts nil" file="./spec/unit/models/device_details_spec.rb" time="0.000896"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#device_secret and #device_secret= rejects non string or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000763"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#form_factor and #form_factor= rejects non string or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000634"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#form_factor and #form_factor= setter accepts a string value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000902"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#form_factor and #form_factor= setter accepts nil" file="./spec/unit/models/device_details_spec.rb" time="0.000781"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#platform and #platform= setter accepts nil" file="./spec/unit/models/device_details_spec.rb" time="0.000812"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#platform and #platform= setter accepts a string value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000786"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#platform and #platform= rejects non string or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000778"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#id and #id= rejects non string or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000633"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#id and #id= setter accepts a string value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000773"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#id and #id= setter accepts nil" file="./spec/unit/models/device_details_spec.rb" time="0.000811"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#metadata and #metadata= setter accepts a Hash value and getter returns the new value" file="./spec/unit/models/device_details_spec.rb" time="0.000819"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#metadata and #metadata= rejects non Hash or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000723"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#metadata and #metadata= setter accepts nil but always returns an empty hash" file="./spec/unit/models/device_details_spec.rb" time="0.000789"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#push and #push= rejects non Hash, DevicePushDetails or nil values" file="./spec/unit/models/device_details_spec.rb" time="0.000638"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#push and #push= setter accepts nil but always returns a DevicePushDetails object" file="./spec/unit/models/device_details_spec.rb" time="0.000880"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#push and #push= setter accepts a DevicePushDetails object and getter returns a DevicePushDetails object" file="./spec/unit/models/device_details_spec.rb" time="0.000907"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails#push and #push= setter accepts a Hash value and getter returns a DevicePushDetails object" file="./spec/unit/models/device_details_spec.rb" time="0.000888"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails camelCase constructor attributes are generated when the object is serialised to JSON" file="./spec/unit/models/device_details_spec.rb" time="0.000747"></testcase>
<testcase classname="spec.unit.models.device_details_spec" name="Ably::Models::DeviceDetails camelCase constructor attributes are rubyfied and exposed as underscore case" file="./spec/unit/models/device_details_spec.rb" time="0.000694"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/connection_details_spec.rb" time="0.000851"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #max_message_size retrieves attribute :max_message_size" file="./spec/unit/models/connection_details_spec.rb" time="0.000887"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #max_frame_size retrieves attribute :max_frame_size" file="./spec/unit/models/connection_details_spec.rb" time="0.000881"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/connection_details_spec.rb" time="0.000896"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #connection_key retrieves attribute :connection_key" file="./spec/unit/models/connection_details_spec.rb" time="0.000892"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #max_inbound_rate retrieves attribute :max_inbound_rate" file="./spec/unit/models/connection_details_spec.rb" time="0.000898"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model attributes #client_id retrieves attribute :client_id" file="./spec/unit/models/connection_details_spec.rb" time="0.000913"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model is immutable prevents changes" file="./spec/unit/models/connection_details_spec.rb" time="0.000921"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model is immutable dups options" file="./spec/unit/models/connection_details_spec.rb" time="0.000895"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/connection_details_spec.rb" time="0.000977"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/connection_details_spec.rb" time="0.001012"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model #== is false when class type differs" file="./spec/unit/models/connection_details_spec.rb" time="0.000885"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model #== is true when attributes are the same" file="./spec/unit/models/connection_details_spec.rb" time="0.001165"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/connection_details_spec.rb" time="0.001219"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails attributes #max_idle_interval (#CD2h) retrieves attribute :max_idle_interval and converts it from ms to s" file="./spec/unit/models/connection_details_spec.rb" time="0.000879"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails attributes #connection_state_ttl (#CD2f) retrieves attribute :connection_state_ttl and converts it from ms to s" file="./spec/unit/models/connection_details_spec.rb" time="0.000882"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails ConnectionDetails conversion methods with a JSON object returns a new ConnectionDetails object from the JSON" file="./spec/unit/models/connection_details_spec.rb" time="0.000883"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails ConnectionDetails conversion methods with a ConnectionDetails object returns the ConnectionDetails object" file="./spec/unit/models/connection_details_spec.rb" time="0.000879"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails == is false when attributes are not the same" file="./spec/unit/models/connection_details_spec.rb" time="0.001150"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails == is true when attributes are the same" file="./spec/unit/models/connection_details_spec.rb" time="0.001197"></testcase>
<testcase classname="spec.unit.models.connection_details_spec" name="Ably::Models::ConnectionDetails == is false when class type differs" file="./spec/unit/models/connection_details_spec.rb" time="0.000877"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage initializer action coercion ignores actions that are Integers" file="./spec/unit/models/protocol_message_spec.rb" time="0.000701"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage initializer action coercion raises an argument error if nil" file="./spec/unit/models/protocol_message_spec.rb" time="0.000706"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage initializer action coercion converts actions to Integers if a ACTION" file="./spec/unit/models/protocol_message_spec.rb" time="0.000647"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage initializer action coercion converts actions to Integers if a symbol" file="./spec/unit/models/protocol_message_spec.rb" time="0.000705"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #connection_serial converts :connection_serial to an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000722"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #auth (#TR4p) without a JSON value contains an empty AuthDetails object" file="./spec/unit/models/protocol_message_spec.rb" time="0.000773"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #auth (#TR4p) with a JSON value contains a AuthDetails object" file="./spec/unit/models/protocol_message_spec.rb" time="0.000635"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #auth (#TR4p) with a JSON value contains the attributes from the JSON auth details" file="./spec/unit/models/protocol_message_spec.rb" time="0.000705"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #timestamp retrieves attribute :timestamp as Time object" file="./spec/unit/models/protocol_message_spec.rb" time="0.000769"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #presence (#TR4l) contains PresenceMessage objects" file="./spec/unit/models/protocol_message_spec.rb" time="0.000865"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #messages (#TR4k) contains Message objects" file="./spec/unit/models/protocol_message_spec.rb" time="0.000947"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #messages (#RTL21) contains Message objects in ascending order" file="./spec/unit/models/protocol_message_spec.rb" time="0.001282"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_serial? with connection_serial returns true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_serial? with msg_serial returns true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000878"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_serial? without msg_serial or connection_serial returns false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000924"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_connection_serial? with connection_serial returns true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000798"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_connection_serial? without connection_serial returns false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000850"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #error with error returns a valid ErrorInfo object" file="./spec/unit/models/protocol_message_spec.rb" time="0.000814"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #error with no error attribute returns nil" file="./spec/unit/models/protocol_message_spec.rb" time="0.000662"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #error with nil error returns nil" file="./spec/unit/models/protocol_message_spec.rb" time="0.000726"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #message_size (#TO3l8) on presence should return 13 bytes (sum in bytes: data and client_id)" file="./spec/unit/models/protocol_message_spec.rb" time="0.000910"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #message_size (#TO3l8) on message should return 76 bytes (sum in bytes: data, client_id, name, extras)" file="./spec/unit/models/protocol_message_spec.rb" time="0.000930"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_message_serial? with msg_serial returns true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000832"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_message_serial? without msg_serial returns false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000823"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #message_serial converts :msg_serial to an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000784"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #connection_details (#TR4o) with a JSON value contains the attributes from the JSON connectionDetails" file="./spec/unit/models/protocol_message_spec.rb" time="0.001014"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #connection_details (#TR4o) with a JSON value contains a ConnectionDetails object" file="./spec/unit/models/protocol_message_spec.rb" time="0.000957"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #connection_details (#TR4o) without a JSON value contains an empty ConnectionDetails object" file="./spec/unit/models/protocol_message_spec.rb" time="0.001170"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #params (#RTL4k1) when present is expected to eq {:foo=&gt;:bar}" file="./spec/unit/models/protocol_message_spec.rb" time="0.000894"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #params (#RTL4k1) when empty is expected to eq {}" file="./spec/unit/models/protocol_message_spec.rb" time="0.000872"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes Java naming converts the attribute to ruby symbol naming convention" file="./spec/unit/models/protocol_message_spec.rb" time="0.000677"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_correct_message_size? (#TO3l8) on presence should return false when a message has not correct size" file="./spec/unit/models/protocol_message_spec.rb" time="0.001259"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_correct_message_size? (#TO3l8) on presence should return true when a message has correct size" file="./spec/unit/models/protocol_message_spec.rb" time="0.001131"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_correct_message_size? (#TO3l8) on message should return true when a message has correct size" file="./spec/unit/models/protocol_message_spec.rb" time="0.001138"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #has_correct_message_size? (#TO3l8) on message should return false when a message has not correct size" file="./spec/unit/models/protocol_message_spec.rb" time="0.001187"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #serial with underlying msg_serial converts :msg_serial to an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000865"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #serial with underlying connection_serial converts :connection_serial to an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000736"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #serial with underlying connection_serial and msg_serial prefers connection_serial and converts :connection_serial to an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000675"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when attach resumed flag flags is 0 should raise an exception if flags is a float number" file="./spec/unit/models/protocol_message_spec.rb" time="0.000690"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when attach resumed flag flags is 34 #has_attach_presence_flag? is false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000699"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when attach resumed flag flags is 34 #has_attach_resume_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000697"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when channel resumed flag present #has_presence_flag? is false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000698"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when channel resumed flag present #has_channel_resumed_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000619"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when numeric is an Integer" file="./spec/unit/models/protocol_message_spec.rb" time="0.000707"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when nil is zero" file="./spec/unit/models/protocol_message_spec.rb" time="0.000714"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when channel resumed and presence flags present #has_presence_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000624"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when channel resumed and presence flags present #has_channel_resumed_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000658"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when has another future flag #has_presence_flag? is false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000668"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when has another future flag #has_backlog_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000693"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when presence flag present #has_channel_resumed_flag? is false" file="./spec/unit/models/protocol_message_spec.rb" time="0.000626"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #flags (#TR4i) when presence flag present #has_presence_flag? is true" file="./spec/unit/models/protocol_message_spec.rb" time="0.000687"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #action returns an Enum that behaves like a symbol" file="./spec/unit/models/protocol_message_spec.rb" time="0.000704"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #action returns an Enum that behaves like a Numeric" file="./spec/unit/models/protocol_message_spec.rb" time="0.000676"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #action returns an Enum that behaves like a String" file="./spec/unit/models/protocol_message_spec.rb" time="0.000633"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #action returns an Enum that matchdes the ACTION constant" file="./spec/unit/models/protocol_message_spec.rb" time="0.000678"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #count when missing is 1" file="./spec/unit/models/protocol_message_spec.rb" time="0.000703"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #count when greater than 1 is the value of count" file="./spec/unit/models/protocol_message_spec.rb" time="0.000628"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage attributes #count when non numeric is 1" file="./spec/unit/models/protocol_message_spec.rb" time="0.000623"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage#to_json with valid data populates the messages" file="./spec/unit/models/protocol_message_spec.rb" time="0.001448"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage#to_json with valid data converts the attribute back to Java mixedCase notation using string keys" file="./spec/unit/models/protocol_message_spec.rb" time="0.001355"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage#to_json is aliased by #to_s " file="./spec/unit/models/protocol_message_spec.rb" time="0.001501"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage#to_json with missing msg_serial for ack message it raises an exception" file="./spec/unit/models/protocol_message_spec.rb" time="0.000897"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage#to_msgpack returns a unpackable msgpack object" file="./spec/unit/models/protocol_message_spec.rb" time="0.001294"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/protocol_message_spec.rb" time="0.000894"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model is immutable dups options" file="./spec/unit/models/protocol_message_spec.rb" time="0.002555"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model is immutable prevents changes" file="./spec/unit/models/protocol_message_spec.rb" time="0.000997"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model #== is false when class type differs" file="./spec/unit/models/protocol_message_spec.rb" time="0.000825"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model #== is true when attributes are the same" file="./spec/unit/models/protocol_message_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/protocol_message_spec.rb" time="0.000670"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #channel retrieves attribute :channel" file="./spec/unit/models/protocol_message_spec.rb" time="0.000690"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #id retrieves attribute :id" file="./spec/unit/models/protocol_message_spec.rb" time="0.000830"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/protocol_message_spec.rb" time="0.000798"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #connection_id retrieves attribute :connection_id" file="./spec/unit/models/protocol_message_spec.rb" time="0.000779"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/protocol_message_spec.rb" time="0.000791"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model attributes #channel_serial retrieves attribute :channel_serial" file="./spec/unit/models/protocol_message_spec.rb" time="0.000785"></testcase>
<testcase classname="spec.unit.models.protocol_message_spec" name="Ably::Models::ProtocolMessage behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/protocol_message_spec.rb" time="0.000958"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #succeed calls the callbacks defined with #callback, but not the ones added for #errback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001148"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #callback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001499"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #callback adds a callback that is called when #succed is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001020"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #fail calls the callbacks defined with #errback, but not the ones added for success #callback" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001016"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #errback catches exceptions in the callback and logs the error to the logger" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.001399"></testcase>
<testcase classname="spec.unit.realtime.safe_deferrable_spec" name="Ably::Models::PresenceMessage behaves like a safe Deferrable #errback adds a callback that is called when #fail is called" file="./spec/unit/realtime/safe_deferrable_spec.rb" time="0.000997"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_time_from_epoch with numeric converts to Time from seconds" file="./spec/unit/modules/conversions_spec.rb" time="0.000710"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_time_from_epoch with numeric converts to Time from milliseconds by default" file="./spec/unit/modules/conversions_spec.rb" time="0.000806"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_time_from_epoch with Time leaves intact" file="./spec/unit/modules/conversions_spec.rb" time="0.000783"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_time_from_epoch with any other object raises an exception" file="./spec/unit/modules/conversions_spec.rb" time="0.000764"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_since_epoch with time converts to milliseconds by default" file="./spec/unit/modules/conversions_spec.rb" time="0.000662"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_since_epoch with time converted to seconds" file="./spec/unit/modules/conversions_spec.rb" time="0.000693"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_since_epoch with any other object raises an exception" file="./spec/unit/modules/conversions_spec.rb" time="0.000716"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_since_epoch with numeric converts to integer" file="./spec/unit/modules/conversions_spec.rb" time="0.000707"></testcase>
<testcase classname="spec.unit.modules.conversions_spec" name="Ably::Modules::Conversions#as_since_epoch with numeric accepts integers" file="./spec/unit/modules/conversions_spec.rb" time="0.000613"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with AES-256-CBC message with cipher payload decodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001333"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with AES-256-CBC message with cipher payload strips the encoding" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001042"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC channel_option cipher params have invalid key length raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000979"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC channel_option cipher params have invalid algorithm raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001014"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC channel_option cipher params have missing key raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000848"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with existing cipher encoding before leaves encoding intact" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000796"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with existing cipher encoding before leaves message intact as it is already encrypted" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000704"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with json payload adds the encoding with utf-8" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001031"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with json payload encodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001266"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with binary payload adds the encoding without utf-8 prefixed" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001020"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with binary payload encodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001173"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with binary payload returns ASCII_8BIT encoded binary data" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001036"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true with encryption set to to false leaves encoding intact" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000789"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true with encryption set to to false leaves message intact as encryption is not enable" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000760"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with string payload adds the encoding with utf-8" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001015"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#encode with channel set up for AES-128-CBC with encrypted set to true message with string payload encodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001202"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with AES-256-CBC message with cipher payload decodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001194"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with AES-256-CBC message with cipher payload strips the encoding" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001297"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC 256 bit key without any configured encryption raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000811"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC 256 bit key with invalid channel_option cipher params raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001067"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC with invalid cipher data raise an exception" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001051"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with another payload leaves the encoding intact" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with another payload leaves the message data intact" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.000696"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with cipher payload strips the encoding" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001258"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with cipher payload decodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001205"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with cipher payload before other payloads strips the encoding" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001188"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with cipher payload before other payloads decodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.003043"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with binary payload strips the encoding" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001513"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with binary payload returns ASCII_8BIT encoded binary data" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001305"></testcase>
<testcase classname="spec.unit.models.message_encoders.cipher_spec" name="Ably::Models::MessageEncoders::Cipher#decode with channel set up for AES-128-CBC valid cipher data message with binary payload decodes cipher" file="./spec/unit/models/message_encoders/cipher_spec.rb" time="0.001415"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model is immutable prevents changes" file="./spec/unit/models/error_info_spec.rb" time="0.000872"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model is immutable dups options" file="./spec/unit/models/error_info_spec.rb" time="0.000772"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model #to_msgpack returns a msgpack object with Ably payload naming" file="./spec/unit/models/error_info_spec.rb" time="0.000710"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #code retrieves attribute :code" file="./spec/unit/models/error_info_spec.rb" time="0.000669"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #attributes provides access to #attributes" file="./spec/unit/models/error_info_spec.rb" time="0.000798"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #cause retrieves attribute :cause" file="./spec/unit/models/error_info_spec.rb" time="0.000762"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #href retrieves attribute :href" file="./spec/unit/models/error_info_spec.rb" time="0.000746"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #status_code retrieves attribute :status_code" file="./spec/unit/models/error_info_spec.rb" time="0.000762"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #message retrieves attribute :message" file="./spec/unit/models/error_info_spec.rb" time="0.000769"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #request_id retrieves attribute :request_id" file="./spec/unit/models/error_info_spec.rb" time="0.000645"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model attributes #[] provides accessor method to #attributes" file="./spec/unit/models/error_info_spec.rb" time="0.000761"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model #to_json returns a JSON string with Ably payload naming" file="./spec/unit/models/error_info_spec.rb" time="0.000814"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model #== is false when class type differs" file="./spec/unit/models/error_info_spec.rb" time="0.000709"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model #== is false when attributes are not the same" file="./spec/unit/models/error_info_spec.rb" time="0.000742"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#TI1, #TI4 behaves like a model #== is true when attributes are the same" file="./spec/unit/models/error_info_spec.rb" time="0.000652"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#status #TI1, #TI2 is an alias for #status_code" file="./spec/unit/models/error_info_spec.rb" time="0.000765"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#request_id #RSC7c should return request ID" file="./spec/unit/models/error_info_spec.rb" time="0.000725"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo#cause #TI1 should return cause attribute" file="./spec/unit/models/error_info_spec.rb" time="0.000706"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo log entries container help link #TI5 with an error code and a message with a different error URL includes the specified error URL from the message and the error code URL in the stringified object" file="./spec/unit/models/error_info_spec.rb" time="0.001399"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo log entries container help link #TI5 with a specified error code includes https://help.ably.io/error/[CODE] in the stringified object" file="./spec/unit/models/error_info_spec.rb" time="0.000885"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo log entries container help link #TI5 without an error code does not include the help URL" file="./spec/unit/models/error_info_spec.rb" time="0.000880"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo log entries container help link #TI5 with an error code and an href attribute includes the specified href in the stringified object" file="./spec/unit/models/error_info_spec.rb" time="0.000999"></testcase>
<testcase classname="spec.unit.models.error_info_spec" name="Ably::Models::ErrorInfo log entries container help link #TI5 with an error code and a message with the same error URL includes the specified error URL only once in the stringified object" file="./spec/unit/models/error_info_spec.rb" time="0.000885"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange invalid attributes raises an argument error" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000718"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#event(#TA5) is an attribute" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000682"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#event(#TA5) is not required" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000596"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#reason (#TA3) is an attribute" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000712"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#reason (#TA3) is not required" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000669"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#previous(#TA2) is an attribute" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000593"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#previous(#TA2) is required" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000660"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#retry_in (#TA2) is not required" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000646"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#retry_in (#TA2) is an attribute" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000658"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#current (#TA2) is required" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000611"></testcase>
<testcase classname="spec.unit.models.connection_state_change_spec" name="Ably::Models::ConnectionStateChange#current (#TA2) is an attribute" file="./spec/unit/models/connection_state_change_spec.rb" time="0.000672"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with specified params in the constructor #cipher_type contains the complete algorithm string as an upper case string" file="./spec/unit/models/cipher_params_spec.rb" time="0.000864"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with specified params in the constructor #key_length contains the key_length" file="./spec/unit/models/cipher_params_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with specified params in the constructor #mode contains the mode" file="./spec/unit/models/cipher_params_spec.rb" time="0.000832"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with specified params in the constructor #algorithm contains the algorithm" file="./spec/unit/models/cipher_params_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with combined param in the constructor #cipher_type contains the complete algorithm string as an upper case string" file="./spec/unit/models/cipher_params_spec.rb" time="0.000919"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with combined param in the constructor #algorithm contains the algorithm" file="./spec/unit/models/cipher_params_spec.rb" time="0.000891"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with combined param in the constructor #mode contains the mode" file="./spec/unit/models/cipher_params_spec.rb" time="0.000889"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams with combined param in the constructor #key_length contains the key_length" file="./spec/unit/models/cipher_params_spec.rb" time="0.000840"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams :key missing from constructor raises an exception" file="./spec/unit/models/cipher_params_spec.rb" time="0.000752"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor with an unsupported :key_length for aes-cbc encryption raises an exception" file="./spec/unit/models/cipher_params_spec.rb" time="0.000881"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor as a base64 encoded string is a binary representation of the base64 encoded string" file="./spec/unit/models/cipher_params_spec.rb" time="0.000894"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor as nil raises an exception" file="./spec/unit/models/cipher_params_spec.rb" time="0.000745"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor as a binary encoded string contains the binary string" file="./spec/unit/models/cipher_params_spec.rb" time="0.000876"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor as a URL safe base64 encoded string is a binary representation of the URL safe base64 encoded string" file="./spec/unit/models/cipher_params_spec.rb" time="0.000875"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor with an invalid type raises an exception" file="./spec/unit/models/cipher_params_spec.rb" time="0.000671"></testcase>
<testcase classname="spec.unit.models.cipher_params_spec" name="Ably::Models::CipherParams#key with :key in constructor with an incompatible :key_length constructor param raises an exception" file="./spec/unit/models/cipher_params_spec.rb" time="0.000828"></testcase>
<testcase classname="spec.unit.models.channel_occupancy_spec" name="Ably::Models::ChannelOccupancy#metrics should return attributes" file="./spec/unit/models/channel_occupancy_spec.rb" time="0.000922"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument as SHIFT_JIS string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.003866"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument as frozen UTF_8 string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.001751"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument as ASCII_8BIT string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.001466"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument as UTF_8 string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.001574"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument as Integer raises an argument error" file="./spec/unit/rest/channel_spec.rb" time="0.001046"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument max message size exceeded when max_message_size is nil and a message size is 65537 bytes should raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/unit/rest/channel_spec.rb" time="0.001234"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument max message size exceeded when max_message_size is 65536 bytes and a message size is 65537 bytes should raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/unit/rest/channel_spec.rb" time="0.001329"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument max message size exceeded when max_message_size is 65536 bytes and a message size is 10 bytes should send a message" file="./spec/unit/rest/channel_spec.rb" time="0.001337"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument max message size exceeded when max_message_size is 10 bytes and a message size is 2 bytes should send a message" file="./spec/unit/rest/channel_spec.rb" time="0.001473"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#publish name argument max message size exceeded when max_message_size is 10 bytes and a message size is 11 bytes should raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/unit/rest/channel_spec.rb" time="0.001218"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as frozen UTF_8 string remains as UTF-8" file="./spec/unit/rest/channel_spec.rb" time="0.000990"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as frozen UTF_8 string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.000946"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as ASCII_8BIT string gets converted to UTF-8" file="./spec/unit/rest/channel_spec.rb" time="0.000959"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as ASCII_8BIT string is compatible with original encoding" file="./spec/unit/rest/channel_spec.rb" time="0.000965"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as Nil raises an argument error" file="./spec/unit/rest/channel_spec.rb" time="0.000935"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as SHIFT_JIS string is compatible with original encoding" file="./spec/unit/rest/channel_spec.rb" time="0.000971"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as SHIFT_JIS string gets converted to UTF-8" file="./spec/unit/rest/channel_spec.rb" time="0.000908"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as UTF_8 string is permitted" file="./spec/unit/rest/channel_spec.rb" time="0.000922"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as UTF_8 string remains as UTF-8" file="./spec/unit/rest/channel_spec.rb" time="0.000913"></testcase>
<testcase classname="spec.unit.rest.channel_spec" name="Ably::Rest::Channel#initializer as Integer raises an argument error" file="./spec/unit/rest/channel_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger uses the language provided Logger by default" file="./spec/unit/logger_spec.rb" time="0.000422"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger with blocks does not call the block unless the log level is met" file="./spec/unit/logger_spec.rb" time="0.000564"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger with blocks with an exception in the logger block catches the error and continues" file="./spec/unit/logger_spec.rb" time="0.000743"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals delegates to the default Logger object" file="./spec/unit/logger_spec.rb" time="0.000628"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter with Realtime client with Realtime disconnected client formats logs with an empty client ID" file="./spec/unit/logger_spec.rb" time="0.001045"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter with Realtime client with Realtime connected client formats logs with a client ID" file="./spec/unit/logger_spec.rb" time="0.000986"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter with REST client formats logs without a client ID" file="./spec/unit/logger_spec.rb" time="0.000509"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter when debugging uses short time format" file="./spec/unit/logger_spec.rb" time="0.000402"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter when info -&gt; fatal uses long time format" file="./spec/unit/logger_spec.rb" time="0.000478"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter severity argument can be a string" file="./spec/unit/logger_spec.rb" time="0.000397"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger internals formatter severity argument can be an Integer" file="./spec/unit/logger_spec.rb" time="0.000448"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger with a custom Logger with an invalid interface raises an exception" file="./spec/unit/logger_spec.rb" time="0.000397"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger with a custom Logger with a valid interface delegates log messages to logger" file="./spec/unit/logger_spec.rb" time="0.000603"></testcase>
<testcase classname="spec.unit.logger_spec" name="Ably::Logger with a custom Logger with a valid interface is used" file="./spec/unit/logger_spec.rb" time="0.000380"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client request_id generation includes request_id in URL" file="./spec/unit/rest/client_spec.rb" time="0.000759"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with token_params configures default_token_params" file="./spec/unit/rest/client_spec.rb" time="0.001114"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments tls defaults to TLS" file="./spec/unit/rest/client_spec.rb" time="0.000774"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments tls set to false uses plain text" file="./spec/unit/rest/client_spec.rb" time="0.000817"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments tls set to false uses HTTP" file="./spec/unit/rest/client_spec.rb" time="0.000885"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments custom port when set without custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.000778"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with token_details sets the token" file="./spec/unit/rest/client_spec.rb" time="0.001004"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set with fallback_hosts_use_default uses the production default fallback hosts (#RTN17b)" file="./spec/unit/rest/client_spec.rb" time="0.000785"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set with fallback_hosts_use_default sets the environment attribute" file="./spec/unit/rest/client_spec.rb" time="0.000664"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set with custom fallback hosts configured uses the custom provided fallback hosts (#RSC15a)" file="./spec/unit/rest/client_spec.rb" time="0.000731"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set with custom fallback hosts configured sets the environment attribute" file="./spec/unit/rest/client_spec.rb" time="0.000720"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set without custom fallback hosts configured sets the environment attribute" file="./spec/unit/rest/client_spec.rb" time="0.000732"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments environment when set without custom fallback hosts configured uses the default fallback hosts (#TBC, see https://github.com/ably/wiki/issues/361)" file="./spec/unit/rest/client_spec.rb" time="0.000746"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments key only connects to the Ably service" file="./spec/unit/rest/client_spec.rb" time="0.000675"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments key only uses basic auth" file="./spec/unit/rest/client_spec.rb" time="0.000737"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments key_name and key_secret constructs a key" file="./spec/unit/rest/client_spec.rb" time="0.000707"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments realtime_host when set without custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.000764"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments realtime_host when set without custom fallback hosts configured sets the realtime_host option" file="./spec/unit/rest/client_spec.rb" time="0.000656"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set without custom fallback hosts configured sets the custom_host attribute" file="./spec/unit/rest/client_spec.rb" time="0.000678"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set without custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.000757"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set with environment and without custom fallback hosts configured sets the custom_host attribute" file="./spec/unit/rest/client_spec.rb" time="0.000734"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set with environment and without custom fallback hosts configured sets the environment attribute" file="./spec/unit/rest/client_spec.rb" time="0.000676"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set with environment and without custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.003036"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set with custom fallback hosts configured sets the custom_host attribute" file="./spec/unit/rest/client_spec.rb" time="1.483485"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments rest_host when set with custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.001151"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with token sets the token" file="./spec/unit/rest/client_spec.rb" time="0.001332"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with a string key instead of options hash sets the key" file="./spec/unit/rest/client_spec.rb" time="0.000957"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with a string key instead of options hash sets the key_secret" file="./spec/unit/rest/client_spec.rb" time="0.000937"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with a string key instead of options hash sets the key_name" file="./spec/unit/rest/client_spec.rb" time="0.000899"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with a string key instead of options hash uses basic auth" file="./spec/unit/rest/client_spec.rb" time="0.000912"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments with a string token key instead of options hash sets the token" file="./spec/unit/rest/client_spec.rb" time="0.001191"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint defaults to production" file="./spec/unit/rest/client_spec.rb" time="0.000990"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint with rest_host option uses an alternate endpoint for REST clients" file="./spec/unit/rest/client_spec.rb" time="0.000923"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint with realtime_host option uses an alternate endpoint for Realtime clients" file="./spec/unit/rest/client_spec.rb" time="0.000773"><skipped/></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint with environment option uses an alternate endpoint" file="./spec/unit/rest/client_spec.rb" time="0.000813"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint with tls_port option and a TLS connection uses the custom port for TLS requests" file="./spec/unit/rest/client_spec.rb" time="0.000921"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments endpoint with port option and non-TLS connections uses the custom port for non-TLS requests" file="./spec/unit/rest/client_spec.rb" time="0.000943"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments logger default specifies Logger::WARN log level" file="./spec/unit/rest/client_spec.rb" time="0.000906"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments logger default uses Ruby Logger" file="./spec/unit/rest/client_spec.rb" time="0.000903"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments logger with custom logger and log_level sets the custom log level" file="./spec/unit/rest/client_spec.rb" time="0.000897"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments logger with custom logger and log_level uses the custom logger" file="./spec/unit/rest/client_spec.rb" time="0.000874"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments logger with log_level :none silences all logging with a NilLogger" file="./spec/unit/rest/client_spec.rb" time="0.000774"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with valid arguments custom TLS port when set without custom fallback hosts configured has no default fallback hosts" file="./spec/unit/rest/client_spec.rb" time="0.000726"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments nil raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000775"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments key and key_secret raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000764"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments empty hash raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000760"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments key: &quot;invalid:asdad&quot; raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000776"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments key: &quot;invalid&quot; raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000660"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer with invalid arguments key and key_name raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000738"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer delegators delegates :client_id to .auth" file="./spec/unit/rest/client_spec.rb" time="0.001054"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client behaves like a client initializer delegators delegates :auth_options to .auth" file="./spec/unit/rest/client_spec.rb" time="0.001067"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client push #push returns a Push object" file="./spec/unit/rest/client_spec.rb" time="0.000767"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client push #device is not supported and raises an exception" file="./spec/unit/rest/client_spec.rb" time="0.000681"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options :use_token_auth set to true without a key or token fails as a key is required to issue tokens" file="./spec/unit/rest/client_spec.rb" time="0.000682"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options :use_token_auth set to false without a key fails as a key is required if not using token auth" file="./spec/unit/rest/client_spec.rb" time="0.000697"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options :use_token_auth set to false with a key and :tls =&gt; false fails for any operation with basic auth and attempting to send an API key over a non-secure connection" file="./spec/unit/rest/client_spec.rb" time="0.002047"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options max_message_size is nil should return default 65536 (#TO3l8)" file="./spec/unit/rest/client_spec.rb" time="0.000792"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options max_message_size is not present should return default 65536 (#TO3l8)" file="./spec/unit/rest/client_spec.rb" time="0.000770"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options max_message_size is customized 131072 bytes should return 131072" file="./spec/unit/rest/client_spec.rb" time="0.000673"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options TLS disabled fails for any operation with basic auth and attempting to send an API key over a non-secure connection (#RSA1)" file="./spec/unit/rest/client_spec.rb" time="0.001736"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options use agent set agent to non-default value custom agent should overwrite client.agent" file="./spec/unit/rest/client_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options use agent set agent to non-default value default agent should return default ably agent" file="./spec/unit/rest/client_spec.rb" time="0.000742"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options fallback_retry_timeout (#RSC15f) default is set to 10 minutes" file="./spec/unit/rest/client_spec.rb" time="0.000748"></testcase>
<testcase classname="spec.unit.rest.client_spec" name="Ably::Rest::Client initializer options fallback_retry_timeout (#RSC15f) when provided configures a new timeout" file="./spec/unit/rest/client_spec.rb" time="0.000667"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items is iterable" file="./spec/unit/models/paginated_result_spec.rb" time="0.001162"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items #first gets the first item in page" file="./spec/unit/models/paginated_result_spec.rb" time="0.000955"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items is Enumerable" file="./spec/unit/models/paginated_result_spec.rb" time="0.000980"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items #last gets the last item in page" file="./spec/unit/models/paginated_result_spec.rb" time="0.000993"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items provides [] accessor method" file="./spec/unit/models/paginated_result_spec.rb" time="0.001019"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items returns correct length from body" file="./spec/unit/models/paginated_result_spec.rb" time="0.001000"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items with coercion returns coerced objects" file="./spec/unit/models/paginated_result_spec.rb" time="0.001049"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items #each returns an enumerator" file="./spec/unit/models/paginated_result_spec.rb" time="0.001038"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult#items #each yields each item" file="./spec/unit/models/paginated_result_spec.rb" time="0.000996"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response has next page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001069"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response is not the last page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001029"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response supports pagination" file="./spec/unit/models/paginated_result_spec.rb" time="0.001036"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page returns another PaginatedResult" file="./spec/unit/models/paginated_result_spec.rb" time="0.004438"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page is the last page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001735"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page does not have a next page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001448"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page returns nil when trying to access the last page when it is the last page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001400"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page retrieves the next page of results" file="./spec/unit/models/paginated_result_spec.rb" time="0.001497"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page and then first page returns a PaginatedResult" file="./spec/unit/models/paginated_result_spec.rb" time="0.001509"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with paged http response accessing next page and then first page retrieves the first page of results" file="./spec/unit/models/paginated_result_spec.rb" time="0.001543"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult paged transformations with option async_blocking_operations: true #first calls the errback callback when first page headers are missing" file="./spec/unit/models/paginated_result_spec.rb" time="0.012883"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult paged transformations with option async_blocking_operations: true #next allows a success callback block to be added" file="./spec/unit/models/paginated_result_spec.rb" time="0.002756"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult paged transformations with option async_blocking_operations: true #next returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/unit/models/paginated_result_spec.rb" time="0.002477"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult paged transformations with each block calls the block for each result on second page after retrieving the results" file="./spec/unit/models/paginated_result_spec.rb" time="0.001318"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult paged transformations with each block calls the block for each result after retrieving the results" file="./spec/unit/models/paginated_result_spec.rb" time="0.001133"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with non paged http response does not have next page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001081"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with non paged http response returns nil when accessing first page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001069"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with non paged http response returns nil when accessing next page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001063"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with non paged http response does not support pagination" file="./spec/unit/models/paginated_result_spec.rb" time="0.001069"></testcase>
<testcase classname="spec.unit.models.paginated_result_spec" name="Ably::Models::PaginatedResult with non paged http response is the last page" file="./spec/unit/models/paginated_result_spec.rb" time="0.001115"></testcase>
</testsuite>
