42 lines
No EOL
1.5 KiB
Ruby
42 lines
No EOL
1.5 KiB
Ruby
require_relative 'spec_helper'
|
|
require_relative '../lib/route'
|
|
|
|
describe 'Route' do
|
|
|
|
describe 'Simple get-route' do
|
|
|
|
it 'matches a simple route' do
|
|
@route = Route.new()
|
|
@route.add_route({"/examples" => "puts grillkorv"})
|
|
request_string = File.read('spec/example_requests/get-examples.request.txt')
|
|
request = Request.new(request_string)
|
|
_(@route.match_route(request)).must_equal "puts grillkorv"
|
|
end
|
|
|
|
it 'matches a double route' do
|
|
@route = Route.new()
|
|
@route.add_route({"/examples/banan" => "does a backflip"})
|
|
request_string = File.read('spec/example_requests/get-subexamples.request.txt')
|
|
request = Request.new(request_string)
|
|
_(@route.match_route(request)).must_equal "does a backflip"
|
|
end
|
|
|
|
it 'matches a variable route' do
|
|
@route = Route.new()
|
|
@route.add_route({"/examples/:id" => "puts id"})
|
|
request_string = File.read('spec/example_requests/get-subexamples.request.txt')
|
|
request = Request.new(request_string)
|
|
_(@route.match_route(request)).must_equal "puts id"
|
|
end
|
|
|
|
it 'does not match' do
|
|
@route = Route.new()
|
|
@route.add_route({"/grillkorv" => "puts grillkorv"})
|
|
request_string = File.read('spec/example_requests/get-examples.request.txt')
|
|
request = Request.new(request_string)
|
|
_(@route.match_route(request)).must_equal 404
|
|
end
|
|
|
|
end
|
|
|
|
end |