diff options
author | Gibheer <gibheer@gmail.com> | 2013-01-29 15:28:59 +0100 |
---|---|---|
committer | Gibheer <gibheer@gmail.com> | 2013-01-29 15:28:59 +0100 |
commit | 335dbdd487cde05451078b18dbea6f87901d08e8 (patch) | |
tree | 8f0cd259229f3a2387fa206aad61c5e09144caf6 /spec/unit | |
parent | 27442f40613cb3a557ca7a0a9d34a4e4296072bd (diff) |
catch empty routes
This fixes a bug where an empty route would catch all requests resulting
in all routes found with the empty route.
Diffstat (limited to 'spec/unit')
-rw-r--r-- | spec/unit/zero/router/call_spec.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/unit/zero/router/call_spec.rb b/spec/unit/zero/router/call_spec.rb index 6f01e3c..683eca8 100644 --- a/spec/unit/zero/router/call_spec.rb +++ b/spec/unit/zero/router/call_spec.rb @@ -25,6 +25,13 @@ describe Zero::Router, '#call' do it_behaves_like "a sample app" end + context 'with empty path' do + let(:routes) {{ '' => wrong_app, '/welcome' => app }} + let(:env) { EnvGenerator.get('/welcome') } + + it_behaves_like "a sample app" + end + context 'with multiple router' do let(:routes) {{ '/foo' => app, '/wrong' => wrong_app }} let(:env) { EnvGenerator.get('/foo') } @@ -45,6 +52,14 @@ describe Zero::Router, '#call' do it_behaves_like "a sample app" end + context 'with empty route' do + let(:routes) {{ '' => wrong_app }} + let(:env) { EnvGenerator.get('/foo') } + let(:result) { ['Not found!'] } + let(:status_code) { 404 } + it_behaves_like "a sample app" + end + context 'with parameters' do let(:routes) {{ '/foo/:id' => app }} let(:env) { EnvGenerator.get('/foo/bar') } |