vendor/rack/RDOX in relevance-castronaut-0.5.4 vs vendor/rack/RDOX in relevance-castronaut-0.6.0

- old
+ new

@@ -27,10 +27,12 @@ == Rack::Builder * chains apps by default * has implicit #to_app * supports blocks on use +* has explicit #to_app +* apps are initialized once == Rack::Adapter::Camping * works with GET * works with POST @@ -53,16 +55,32 @@ == Rack::CommonLogger * should log to rack.errors by default * should log to anything with << +== Rack::ConditionalGet +* should set a 304 status and truncate body when If-Modified-Since hits +* should set a 304 status and truncate body when If-None-Match hits +* should not affect non-GET/HEAD requests + +== Rack::ContentLength +* sets Content-Length on String bodies if none is set +* sets Content-Length on Array bodies if none is set +* does not set Content-Length on variable length bodies +* does not change Content-Length if it is already set +* does not set Content-Length on 304 responses +* does not set Content-Length when Transfer-Encoding is chunked + == Rack::Deflater * should be able to deflate bodies that respond to each * should be able to deflate String bodies * should be able to gzip bodies that respond to each * should be able to fallback to no deflation +* should be able to skip when there is no response entity body * should handle the lack of an acceptable encoding +* should handle gzip response with Last-Modified header +* should do nothing when no-transform Cache-Control directive present == Rack::Directory * serves directory indices * passes to app if file found * serves uri with URL encoded filenames @@ -83,40 +101,61 @@ == Rack::File * serves files * sets Last-Modified header * serves files with URL encoded filenames * does not allow directory traversal +* does not allow directory traversal with encoded periods * 404s if it can't find the file +* detects SystemCallErrors == Rack::Handler * has registered default handlers * should get unregistered handler by name * should register custom handler +== Rack::Head +* response (empty) +* passes GET, POST, PUT, DELETE, OPTIONS, TRACE requests +* removes body from HEAD requests + == Rack::Lint * passes valid request * notices fatal errors * notices environment errors * notices input errors * notices error errors * notices status errors * notices header errors * notices content-type errors +* notices content-length errors * notices body errors * notices input handling errors * notices error handling errors +* notices HEAD errors +== Rack::Lint::InputWrapper +* delegates :size to underlying IO object +* delegates :rewind to underlying IO object + == Rack::Lobster::LambdaLobster * should be a single lambda * should look like a lobster * should be flippable == Rack::Lobster * should look like a lobster * should be flippable * should provide crashing for testing purposes +== Rack::MethodOverride +* should not affect GET requests +* _method parameter should modify REQUEST_METHOD for POST requests +* X-HTTP-Method-Override header should modify REQUEST_METHOD for POST requests +* should not modify REQUEST_METHOD if the method is unknown +* should not modify REQUEST_METHOD when _method is nil +* should store the original REQUEST_METHOD prior to overriding + == Rack::MockRequest * should return a MockResponse * should be able to only return the environment * should provide sensible defaults * should allow GET/POST/PUT/DELETE @@ -141,10 +180,11 @@ * should set status * should provide a .run * should provide a .run that maps a hash * should provide a .run that maps a urlmap * should provide a .run that maps a urlmap restricting by host +* should stream #each part of the response == Rack::Recursive * should allow for subrequests * should raise error on requests not below the app * should support forwarding @@ -154,10 +194,12 @@ * can figure out the correct host * can parse the query string * can parse POST data * can parse POST data with explicit content type * does not parse POST data when media type is not form-data +* rewinds input after parsing POST data +* does not rewind unwindable CGI input * can get value by key from params with #[] * can set value to key on params with #[]= * values_at answers values by keys in order given * referrer should be extracted correct * can cache, but invalidates the cache @@ -173,17 +215,19 @@ * can parse big multipart form data * can detect invalid multipart form data * should work around buggy 1.8.* Tempfile equality * does conform to the Rack spec * should parse Accept-Encoding correctly +* should provide ip information == Rack::Response * has sensible default values * can be written to * can set and read headers * can set cookies * formats the Cookie expiration date accordingly to RFC 2109 +* can set secure cookies * can delete cookies * has a useful constructor * has a constructor that can take a block * doesn't return invalid responses * knows if it's empty @@ -193,10 +237,13 @@ == Rack::Session::Cookie * creates a new cookie * loads from a cookie * survives broken cookies * barks on too big cookies +* creates a new cookie with integrity hash +* loads from a cookie wih integrity hash +* ignores tampered with session cookies == Rack::Session::Memcache * startup (empty) * faults on no connection * creates a new cookie @@ -226,10 +273,19 @@ == Rack::Static * serves files * 404s if url root is known but it can't find the file * calls down the chain if url root is not known +== Rack::Handler::Thin +* should respond +* should be a Thin +* should have rack headers +* should have CGI headers on GET +* should have CGI headers on POST +* should support HTTP auth +* should set status + == Rack::URLMap * dispatches paths correctly * dispatches hosts correctly * should be nestable * should route root apps correctly @@ -240,12 +296,14 @@ * should parse query strings correctly * should build query strings correctly * should figure out which encodings are acceptable == Rack::Utils::HeaderHash -* should capitalize on all accesses -* should capitalize correctly +* should retain header case +* should check existence of keys case insensitively +* should merge case-insensitively +* should overwrite case insensitively and assume the new key's case * should be converted to real Hash == Rack::Utils::Context * should perform checks on both arguments * should set context correctly @@ -258,8 +316,9 @@ * should have rack headers * should have CGI headers on GET * should have CGI headers on POST * should support HTTP auth * should set status +* should correctly set cookies * should provide a .run -197 specifications, 3 empty (886 requirements), 0 failures +244 specifications, 4 empty (1004 requirements), 0 failures