70 lines
1.6 KiB
Ruby
70 lines
1.6 KiB
Ruby
require 'spec_helper'
|
|
require 'rack-mini-profiler'
|
|
require 'mini_profiler/gc_profiler'
|
|
|
|
describe Rack::MiniProfiler::GCProfiler do
|
|
before :each do
|
|
@app = lambda do |env|
|
|
env
|
|
end
|
|
@env = {}
|
|
@profiler = Rack::MiniProfiler::GCProfiler.new
|
|
end
|
|
|
|
describe '#profile_gc_time' do
|
|
it 'doesn\'t enable the gc if it was disabled previously' do
|
|
GC.disable
|
|
|
|
expect {
|
|
@profiler.profile_gc_time(@app, @env)
|
|
}.to_not change { GC.disable }
|
|
|
|
# Let's re-enable the GC for the rest of the test suite
|
|
GC.enable
|
|
end
|
|
|
|
it 'keeps the GC enable if it was enabled previously' do
|
|
expect {
|
|
@profiler.profile_gc_time(@app, @env)
|
|
}.to_not change { GC.enable }
|
|
end
|
|
|
|
it 'doesn\'t leave the GC Profiler enabled if it was disabled previously' do
|
|
GC::Profiler.enable
|
|
|
|
expect {
|
|
@profiler.profile_gc_time(@app, @env)
|
|
}.to_not change { GC::Profiler.enabled? }
|
|
|
|
GC::Profiler.disable
|
|
end
|
|
|
|
|
|
it 'keeps the GC Profiler disabled if it was disabled previously' do
|
|
expect {
|
|
@profiler.profile_gc_time(@app, @env)
|
|
}.to_not change { GC::Profiler.enabled? }
|
|
end
|
|
end
|
|
|
|
describe '#profile_gc' do
|
|
it 'doesn\'t leave the GC enabled if it was disabled previously' do
|
|
GC.disable
|
|
|
|
expect {
|
|
@profiler.profile_gc(@app, @env)
|
|
}.to_not change { GC.disable }
|
|
|
|
# Let's re-enable the GC for the rest of the test suite
|
|
GC.enable
|
|
end
|
|
|
|
it 'keeps the GC enabled if it was enabled previously' do
|
|
expect {
|
|
@profiler.profile_gc(@app, @env)
|
|
}.to_not change { GC.enable }
|
|
end
|
|
|
|
end
|
|
end
|