Sha256: 0564f0f08e877fbcda59625b3662cd740113fe0f0a309700ad1fda52ccab6c6f

Contents?: true

Size: 1.18 KB

Versions: 6

Compression:

Stored size: 1.18 KB

Contents

require File.join(File.dirname(__FILE__), "spec_helper")

Controllers = Merb::Test::Fixtures::Controllers

describe Merb::Controller, "#nginx_send_file" do
  
  before do
    Merb.push_path(:layout, File.dirname(__FILE__) / "controllers" / "views" / "layouts")    
    Merb::Router.prepare do |r|
      r.default_routes
    end

    @controller = dispatch_to(Merb::Test::Fixtures::Controllers::Streaming, :x_accel_redirect)
  end
  
  it "returns a space" do
    @controller.body.should == " "
  end

  it 'sets X-Accel-Redirect header using first argument value' do
    @controller.headers['X-Accel-Redirect'].should == "/protected/content.pdf"
  end

  describe "when given second argument" do
    it 'sets Content-Type header using second argument value' do
      @controller.headers['Content-Type'].should == "application/pdf"
    end
  end


  describe "when given only first argument" do
    before(:each) do
      @controller = dispatch_to(Merb::Test::Fixtures::Controllers::Streaming, :x_accel_redirect_with_default_content_type)
    end
    
    it 'sets Content-Type header to empty string and sets Nginx determine it' do
      @controller.headers['Content-Type'].should == ""
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
merb-core-1.1.3 spec10/public/controller/streaming_spec.rb
merb-core-1.1.2 spec10/public/controller/streaming_spec.rb
merb-core-1.1.1 spec10/public/controller/streaming_spec.rb
merb-core-1.1.0 spec10/public/controller/streaming_spec.rb
merb-core-1.1.0.rc1 spec10/public/controller/streaming_spec.rb
merb-core-1.1.0.pre spec10/public/controller/streaming_spec.rb