You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- require 'spec_helper'
- require 'mini_profiler/timer_struct'
-
- require 'json'
-
- describe Rack::MiniProfiler::TimerStruct do
-
- before do
- @timer = Rack::MiniProfiler::TimerStruct.new('Mini' => 'Profiler')
- end
-
- it 'has the the Mini attribute' do
- @timer['Mini'].should == 'Profiler'
- end
-
- it 'allows us to set any attribute we want' do
- @timer['Hello'] = 'World'
- @timer['Hello'].should == 'World'
- end
-
- describe 'to_json' do
-
- before do
- @timer['IceIce'] = 'Baby'
- @json = @timer.to_json
- end
-
- it 'has a JSON value' do
- @json.should_not be_nil
- end
-
- it 'should not add a second (nil) argument if no arguments were passed' do
- ::JSON.should_receive( :generate ).once.with( @timer.attributes, :max_nesting => 100 ).and_return( nil )
- @timer.to_json
- end
-
- describe 'deserialized' do
-
- before do
- @deserialized = ::JSON.parse(@json)
- end
-
- it 'produces a hash' do
- @deserialized.is_a?(Hash).should be_true
- end
-
- it 'has the element we added' do
- @deserialized['IceIce'].should == 'Baby'
- end
- end
-
- end
-
- end
|