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
classiccms-0.7.5 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
classiccms-0.7.4 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
classiccms-0.7.3 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
rack-1.4.7 test/spec_session_abstract_id.rb
rack-1.4.6 test/spec_session_abstract_id.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/test/spec_session_abstract_id.rb
candlepin-api-0.4.0 bundle/ruby/gems/rack-1.3.5/test/spec_session_abstract_id.rb
candlepin-api-0.4.0 bundle/ruby/1.8/gems/rack-1.3.5/test/spec_session_abstract_id.rb
candlepin-api-0.4.0 bundle/ruby/1.9.1/gems/rack-1.3.5/test/spec_session_abstract_id.rb
classiccms-0.7.2 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
classiccms-0.7.1 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
swipe-rails-0.0.5 vendor/bundle/gems/rack-1.4.5/test/spec_session_abstract_id.rb
active_mailer-0.0.9 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.8 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.7 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.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb
classiccms-0.7.0 vendor/bundle/gems/rack-1.4.1/test/spec_session_abstract_id.rb
font-awesome-rails-3.1.1.2 vendor/ruby/2.0.0/gems/rack-1.4.5/test/spec_session_abstract_id.rb
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/rack-1.4.5/test/spec_session_abstract_id.rb