| Server IP : 109.234.162.214 / Your IP : 216.73.216.112 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/ruby19/lib64/ruby/gems/1.9.1/gems/rack-1.6.4/test/ |
Upload File : |
### 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
should "allow to use another securerandom provider" do
secure_random = Class.new do
def hex(*args)
'fake_hex'
end
end
id = Rack::Session::Abstract::ID.new nil, :secure_random => secure_random.new
id.send(:generate_sid).should.eql 'fake_hex'
end
end