spec/plugin/chunked_spec.rb in roda-2.2.0 vs spec/plugin/chunked_spec.rb in roda-2.3.0
- old
+ new
@@ -13,33 +13,33 @@
it "streams templates in chunked encoding only if HTTP 1.1 is used" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmt"
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmt"
end
it "hex encodes chunk sizes" do
m = 'm' * 31
app(:chunked) do |r|
- chunked(:inline=>m, :layout=>{:inline=>'h<%= yield %>t'})
+ chunked(:inline=>m.dup, :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "1\r\nh\r\n1f\r\n#{m}\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "h#{m}t"
+ cbody.must_equal "1\r\nh\r\n1f\r\n#{m}\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "h#{m}t"
end
it "accepts a block that is called after layout yielding but before content when streaming" do
app(:chunked) do |r|
chunked(:inline=>'m<%= @h %>', :layout=>{:inline=>'<%= @h %><%= yield %>t'}) do
@h = 'h'
end
end
- cbody.should == "2\r\nmh\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmht"
+ cbody.must_equal "2\r\nmh\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmht"
end
it "has delay accept block that is called after layout yielding but before content when streaming" do
app(:chunked) do |r|
delay do
@@ -49,107 +49,107 @@
chunked(:inline=>'m<%= @h %>', :layout=>{:inline=>'<%= @h %><%= yield %>t'}) do
@h << 'j'
end
end
- cbody.should == "1\r\nh\r\n4\r\nmhij\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hijmhijt"
+ cbody.must_equal "1\r\nh\r\n4\r\nmhij\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hijmhijt"
end
it "has delay raise if not given a block" do
app(:chunked){|r| delay}
- proc{body}.should raise_error(Roda::RodaError)
+ proc{body}.must_raise(Roda::RodaError)
end
it "works when a layout is not used" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>nil)
end
- cbody.should == "1\r\nm\r\n0\r\n\r\n"
- body.should == "m"
+ cbody.must_equal "1\r\nm\r\n0\r\n\r\n"
+ body.must_equal "m"
end
it "streams partial template responses if flush is used in content template" do
app(:chunked) do |r|
chunked(:inline=>'m<%= flush %>n', :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\nn\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmnt"
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\nn\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmnt"
end
it "streams partial template responses if flush is used in layout template" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>{:inline=>'h<%= flush %>i<%= yield %>t'})
end
- cbody.should == "1\r\nh\r\n1\r\ni\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "himt"
+ cbody.must_equal "1\r\nh\r\n1\r\ni\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "himt"
end
it "does not stream if no_chunk! is used" do
app(:chunked) do |r|
no_chunk!
chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "hmt"
- body.should == "hmt"
+ cbody.must_equal "hmt"
+ body.must_equal "hmt"
end
it "streams existing response body before call" do
app(:chunked) do |r|
response.write('a')
response.write chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "1\r\na\r\n1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "ahmt"
+ cbody.must_equal "1\r\na\r\n1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "ahmt"
end
it "should not include Content-Length header even if body is already written to" do
app(:chunked) do |r|
response.write('a')
response.write chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
- header('Content-Length', 'HTTP_VERSION'=>'HTTP/1.1').should == nil
- header('Content-Length', 'HTTP_VERSION'=>'HTTP/1.0').should == '4'
+ header('Content-Length', 'HTTP_VERSION'=>'HTTP/1.1').must_equal nil
+ header('Content-Length', 'HTTP_VERSION'=>'HTTP/1.0').must_equal '4'
end
it "stream template responses for view if :chunk_by_default is used" do
app(:bare) do
plugin :chunked, :chunk_by_default=>true
route do |r|
view(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmt"
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmt"
end
it "uses Transfer-Encoding header when chunking" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
- header('Transfer-Encoding', 'HTTP_VERSION'=>'HTTP/1.1').should == 'chunked'
- header('Transfer-Encoding', 'HTTP_VERSION'=>'HTTP/1.0').should == nil
+ header('Transfer-Encoding', 'HTTP_VERSION'=>'HTTP/1.1').must_equal 'chunked'
+ header('Transfer-Encoding', 'HTTP_VERSION'=>'HTTP/1.0').must_equal nil
end
it "uses given :headers when chunking" do
app(:bare) do
plugin :chunked, :headers=>{'Foo'=>'bar'}
route do |r|
chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %>t'})
end
end
- header('Foo', 'HTTP_VERSION'=>'HTTP/1.1').should == 'bar'
- header('Foo', 'HTTP_VERSION'=>'HTTP/1.0').should == nil
+ header('Foo', 'HTTP_VERSION'=>'HTTP/1.1').must_equal 'bar'
+ header('Foo', 'HTTP_VERSION'=>'HTTP/1.0').must_equal nil
end
it "handles multiple arguments to chunked" do
app(:bare) do
plugin :chunked, :chunk_by_default=>true
@@ -157,44 +157,44 @@
route do |r|
chunked('about', :locals=>{:title=>'m'}, :layout=>{:inline=>'h<%= yield %>t'})
end
end
- cbody.should == "1\r\nh\r\nb\r\n<h1>m</h1>\n\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "h<h1>m</h1>\nt"
+ cbody.must_equal "1\r\nh\r\nb\r\n<h1>m</h1>\n\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "h<h1>m</h1>\nt"
end
it "handles multiple hash arguments to chunked" do
app(:chunked) do |r|
chunked({:inline=>'m'}, :layout=>{:inline=>'h<%= yield %>t'})
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmt"
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmt"
end
it "handles :layout_opts option" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>{:inline=>'<%= h %><%= yield %>t'}, :layout_opts=>{:locals=>{:h=>'h'}})
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
- body.should == "hmt"
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\nt\r\n0\r\n\r\n"
+ body.must_equal "hmt"
end
it "uses handle_chunk_error for handling errors when chunking" do
app(:chunked) do |r|
chunked(:inline=>'m', :layout=>{:inline=>'h<%= yield %><% raise %>'})
end
- proc{cbody}.should raise_error
- proc{body}.should raise_error
+ proc{cbody}.must_raise RuntimeError
+ proc{body}.must_raise RuntimeError
app.send(:define_method, :handle_chunk_error) do |v|
@_out_buf = 'e'
flush
end
- cbody.should == "1\r\nh\r\n1\r\nm\r\n1\r\ne\r\n0\r\n\r\n"
- proc{body}.should raise_error
+ cbody.must_equal "1\r\nh\r\n1\r\nm\r\n1\r\ne\r\n0\r\n\r\n"
+ proc{body}.must_raise RuntimeError
end
end
end