Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

137 lines (107 sloc) 2.676 kb
# Tests to check if all the README examples work.
require File.expand_path('../helper', __FILE__)
class ReadmeTest < Test::Unit::TestCase
example do
mock_app { get('/') { 'Hello world!' } }
get '/'
assert_body 'Hello world!'
end
section "Routes" do
example do
mock_app do
get '/' do
".. show something .."
end
post '/' do
".. create something .."
end
put '/' do
".. replace something .."
end
patch '/' do
".. modify something .."
end
delete '/' do
".. annihilate something .."
end
options '/' do
".. appease something .."
end
end
get '/'
assert_body '.. show something ..'
post '/'
assert_body '.. create something ..'
put '/'
assert_body '.. replace something ..'
patch '/'
assert_body '.. modify something ..'
delete '/'
assert_body '.. annihilate something ..'
options '/'
assert_body '.. appease something ..'
end
example do
mock_app do
get '/hello/:name' do
# matches "GET /hello/foo" and "GET /hello/bar"
# params[:name] is 'foo' or 'bar'
"Hello #{params[:name]}!"
end
end
get '/hello/foo'
assert_body 'Hello foo!'
get '/hello/bar'
assert_body 'Hello bar!'
end
example do
mock_app do
get '/hello/:name' do |n|
"Hello #{n}!"
end
end
get '/hello/foo'
assert_body 'Hello foo!'
get '/hello/bar'
assert_body 'Hello bar!'
end
example do
mock_app do
get '/say/*/to/*' do
# matches /say/hello/to/world
params[:splat].inspect # => ["hello", "world"]
end
get '/download/*.*' do
# matches /download/path/to/file.xml
params[:splat].inspect # => ["path/to/file", "xml"]
end
end
get "/say/hello/to/world"
assert_body '["hello", "world"]'
get "/download/path/to/file.xml"
assert_body '["path/to/file", "xml"]'
end
example do
mock_app do
get %r{/hello/([\w]+)} do
"Hello, #{params[:captures].first}!"
end
end
get '/hello/foo'
assert_body 'Hello, foo!'
get '/hello/bar'
assert_body 'Hello, bar!'
end
example do
mock_app do
get %r{/hello/([\w]+)} do |c|
"Hello, #{c}!"
end
end
get '/hello/foo'
assert_body 'Hello, foo!'
get '/hello/bar'
assert_body 'Hello, bar!'
end
end
end
Jump to Line
Something went wrong with that request. Please try again.