Sha256: fffc81fd45d8e012410415a6032d4f15f61ad5902bf3232508fc9d86b70d2b85

Contents?: true

Size: 1.01 KB

Versions: 179

Compression:

Stored size: 1.01 KB

Contents

### WARNING: there be hax in this file.

require 'rack/session/abstract/id'

describe Rack::Session::Abstract::ID do
  id = Rack::Session::Abstract::ID

  def silence_warning
    o, $VERBOSE = $VERBOSE, nil
    yield
  ensure
    $VERBOSE = o
  end

  def reload_id
    $".delete $".find { |part| part =~ %r{session/abstract/id.rb} }
    silence_warning { require 'rack/session/abstract/id' }
  end

  should "use securerandom when available" do
    begin
      fake = false
      silence_warning do
        ::SecureRandom = fake = true unless defined?(SecureRandom)
      end
      reload_id
      id::DEFAULT_OPTIONS[:secure_random].should.eql(fake || SecureRandom)
    ensure
      Object.send(:remove_const, :SecureRandom) if fake
    end
  end

  should "not use securerandom when unavailable" do
    begin
      sr = Object.send(:remove_const, :SecureRandom) if defined?(SecureRandom)
      reload_id
      id::DEFAULT_OPTIONS[:secure_random].should.eql false
    ensure
      ::SecureRandom = sr if defined?(sr)
    end
  end

end

Version data entries

179 entries across 153 versions & 27 rubygems

Version Path
font-awesome-rails-3.1.1.1 vendor/ruby/2.0.0/gems/rack-1.4.5/test/spec_session_abstract_id.rb
font-awesome-rails-3.1.1.1 vendor/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
challah-1.0.0.beta3 vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
fc-webicons-0.0.4 vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
challah-1.0.0.beta2 vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
challah-1.0.0.beta vendor/bundle/gems/rack-1.4.3/test/spec_session_abstract_id.rb
challah-1.0.0.beta vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
fc-webicons-0.0.3 vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
fc-webicons-0.0.2 vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
fc-webicons-0.0.1 vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
active_mailer-0.0.5 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
active_mailer-0.0.4 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
active_mailer-0.0.3 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
graphael-on-rails-0.5.1 vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
graphael-on-rails-0.0.1 vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
challah-0.9.1.beta.3 vendor/bundle/gems/rack-1.4.3/test/spec_session_abstract_id.rb
rack-1.4.5 test/spec_session_abstract_id.rb
rack-1.3.10 test/spec_session_abstract_id.rb
devise_sociable-0.1.0 vendor/bundle/gems/rack-1.4.4/test/spec_session_abstract_id.rb
backbone-queryparams-rails-0.0.1 vendor/bundle/gems/rack-1.4.4/test/spec_session_abstract_id.rb