Sha256: 46de57a3881d93f4597ac896697635fc4c2f0c54aeae0b11673a96b93874deab

Contents?: true

Size: 1.26 KB

Versions: 80

Compression:

Stored size: 1.26 KB

Contents

require File.expand_path('../spec_helper.rb', __FILE__)

describe Rack::Protection::FrameOptions do
  it_behaves_like "any rack application"

  it 'should set the X-Frame-Options' do
    get('/', {}, 'wants' => 'text/html').headers["X-Frame-Options"].should == "SAMEORIGIN"
  end

  it 'should not set the X-Frame-Options for other content types' do
    get('/', {}, 'wants' => 'text/foo').headers["X-Frame-Options"].should be_nil
  end

  it 'should allow changing the protection mode' do
    # I have no clue what other modes are available
    mock_app do
      use Rack::Protection::FrameOptions, :frame_options => :deny
      run DummyApp
    end

    get('/', {}, 'wants' => 'text/html').headers["X-Frame-Options"].should == "DENY"
  end


  it 'should allow changing the protection mode to a string' do
    # I have no clue what other modes are available
    mock_app do
      use Rack::Protection::FrameOptions, :frame_options => "ALLOW-FROM foo"
      run DummyApp
    end

    get('/', {}, 'wants' => 'text/html').headers["X-Frame-Options"].should == "ALLOW-FROM foo"
  end

  it 'should not override the header if already set' do
    mock_app with_headers("X-Frame-Options" => "allow")
    get('/', {}, 'wants' => 'text/html').headers["X-Frame-Options"].should == "allow"
  end
end

Version data entries

80 entries across 75 versions & 20 rubygems

Version Path
logstash-filter-base64-1.0.2 vendor/bundle/jruby/2.3.0/gems/rack-protection-1.5.3/spec/frame_options_spec.rb
logstash-filter-base64-1.0.1 vendor/bundle/jruby/2.3.0/gems/rack-protection-1.5.3/spec/frame_options_spec.rb
logstash-filter-base64-1.0.0 vendor/bundle/jruby/2.3.0/gems/rack-protection-1.5.3/spec/frame_options_spec.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/rack-protection-1.5.3/spec/frame_options_spec.rb
rack-protection-1.5.3 spec/frame_options_spec.rb
rack-protection-1.5.2 spec/frame_options_spec.rb
mango-0.8.0 vendor/bundler/ruby/2.1.0/gems/rack-protection-1.5.1/spec/frame_options_spec.rb
mango-0.7.1 vendor/bundler/ruby/2.0.0/gems/rack-protection-1.5.1/spec/frame_options_spec.rb
mango-0.7.0 vendor/bundler/ruby/2.0.0/gems/rack-protection-1.5.1/spec/frame_options_spec.rb
rack-protection-1.5.1 spec/frame_options_spec.rb
torquebox-console-0.3.0 vendor/bundle/jruby/1.9/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
torquebox-console-0.2.5 vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
torquebox-console-0.2.5 vendor/bundle/jruby/1.9/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
rack-protection-1.5.0 spec/frame_options_spec.rb
torquebox-console-0.2.4 vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
torquebox-console-0.2.4 vendor/bundle/jruby/1.9/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
torquebox-console-0.2.3 vendor/bundle/jruby/1.9/gems/rack-protection-1.4.0/spec/frame_options_spec.rb
rack-protection-1.4.0 spec/frame_options_spec.rb
rack-protection-1.3.2 spec/frame_options_spec.rb
rack-protection-1.3.1 spec/frame_options_spec.rb