GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Rubygem
Description: Resource-oriented open source Ruby framework for Web apps.
Homepage: http://rubywaves.com/
Clone URL: git://github.com/dyoder/waves.git
Added some filter tests
lawrencepit (author)
Thu Mar 27 06:46:36 -0700 2008
commit  fec13fe02511df49ecd5f1628582afe3611b22e7
tree    9925e6cab25e74de4b822f5f1f1e9317abd95ec7
parent  2d12d856bab0230d9edeb2951fcf4b3ec3c4e1f5
...
18
19
20
 
 
 
 
 
 
 
 
 
 
 
 
 
21
22
23
24
 
25
26
27
...
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
 
 
35
36
37
38
0
@@ -18,10 +18,21 @@ module Test
0
       # port
0
       # end
0
       
0
+ before( :path => '/filters', :method => :post ) { request.response.write('Before post:') }
0
+ before( :path => '/filters' ) { request.response.write('Before:') }
0
+ wrap( :path => '/filters', :method => :post ) { request.response.write(':Wrap post:') }
0
+ wrap( :path => '/filters' ) { request.response.write(':Wrap:') }
0
+ path( '/filters' ) { 'During' }
0
+ after( :path => '/filters', :method => :post ) { request.response.write('After post:') }
0
+ after( :path => '/filters' ) { request.response.write(':After') }
0
+
0
+ regexp = %r{^/filters/(\w+)$}
0
+ before( :path => regexp ) { |filtername| request.response.write("Before #{filtername}:") }
0
+ wrap( :path => regexp ) { |filtername| request.response.write(":Wrap #{filtername}:") }
0
+ path( regexp ) { 'During' }
0
+ after( :path => regexp ) { |filtername| request.response.write(":After #{filtername}") }
0
 
0
- before( :path => '/filters' ) { request.response.write('Before') }
0
- path( '/filters' ) { '- During -' }
0
- after( :path => '/filters' ) { request.response.write('After') }
0
+ before( :path => 'filters_with_no_map' ) { request.response.write("Filters with no map") }
0
       
0
     end
0
 
...
1
2
3
4
 
 
5
6
7
8
 
 
 
 
 
 
 
 
 
 
9
10
11
12
...
1
2
 
 
3
4
5
6
 
 
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
@@ -1,11 +1,19 @@
0
 context "A developer can map requests to filters." do
0
   
0
- specify "Map a path to a 'before' filter." do
0
- get('/filters').body[0..5].should == 'Before'
0
+ specify "Map a path to a 'before', 'after' and 'wrap' filters." do
0
+ get('/filters').body.should == 'Before::Wrap:During:Wrap::After'
0
   end
0
   
0
- specify "Map a path to an 'after' filter." do
0
- get('/filters').body[-5..-1].should == 'After'
0
+ specify "Map a POST to a path to a 'before', 'after' and 'wrap' filters" do
0
+ post('/filters').body.should == 'Before post:Before::Wrap post::Wrap:During:Wrap post::Wrap:After post::After'
0
+ end
0
+
0
+ specify "The 'before', 'after' and 'wrap' filters accept a regular expression and can extract parameters from the request path" do
0
+ get('/filters/xyz').body.should == 'Before xyz::Wrap xyz:During:Wrap xyz::After xyz'
0
+ end
0
+
0
+ specify "When having 'before', 'after' and 'wrap' filters but no corresponding map action this results in a 404" do
0
+ get('/filters_with_no_map').body.should =~ '404'
0
   end
0
   
0
 end
0
\ No newline at end of file

Comments

    No one has commented yet.