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