def assert_recognizes(expected_options, path, extras={}, message=nil)
path = "/#{path}" unless path[0..0] == '/'
ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
request = ActionController::TestRequest.new({}, {}, nil)
request.path = path
ActionController::Routing::Routes.recognize!(request)
expected_options = expected_options.clone
extras.each_key { |key| expected_options.delete key } unless extras.nil?
expected_options.stringify_keys!
msg = build_message(message, "The recognized options <?> did not match <?>",
request.path_parameters, expected_options)
assert_block(msg) { request.path_parameters == expected_options }
end