test/busted_test.rb in busted-0.2.1 vs test/busted_test.rb in busted-0.2.2

- old
+ new

@@ -229,29 +229,74 @@ def test_constant_cache_predicate_with_new_class assert Busted.constant_cache? { Object.class_eval "class SantasLittleHelper; end" } end + def test_nesting_run + outer_report = {} + inner_report = {} + + outer_report = Busted.run do + + Object.class_eval "class CarlsbadChronic; end" + + inner_report = Busted.run do + + Object.class_eval "class SharkBite; end" + end + end + + assert_equal({invalidations:{method:0,constant:1}}, inner_report) + assert_equal({invalidations:{method:0,constant:2}}, outer_report) + end + + def test_nesting_start_finish + outer_report = {} + inner_report = {} + + Busted.start + + Object.class_eval "class ExtraCheese; end" + + Busted.start + + Object.class_eval "class ExtraExtraCheese; end" + + inner_report = Busted.finish + + Object.class_eval "class TooMuchCheese; end" + + outer_report = Busted.finish + + assert_equal({invalidations:{method:0,constant:1}}, inner_report) + assert_equal({invalidations:{method:0,constant:3}}, outer_report) + end + + def test_start_return_value + assert_equal true, Busted.start + Busted.finish + end + if Busted::Tracer.exists? && Busted::CurrentProcess.privileged? def test_cache_invalidations_and_traces_with_new_method report = Busted.run(trace: true) { Object.class_exec { def cookie; end } } assert_equal 1, report[:invalidations][:method] assert_equal 0, report[:invalidations][:constant] assert_equal "global", report[:traces][:method][0][:class] assert_match /test\/busted_test.rb\z/, report[:traces][:method][0][:sourcefile] - assert_equal "237", report[:traces][:method][0][:lineno] + assert_equal "#{__LINE__ - 5}", report[:traces][:method][0][:lineno] end def test_start_finish_and_traces_with_new_method Busted.start trace: true Object.class_exec { def candy; end } report = Busted.finish assert_equal 1, report[:invalidations][:method] assert_equal 0, report[:invalidations][:constant] assert_equal "global", report[:traces][:method][0][:class] assert_match /test\/busted_test.rb\z/, report[:traces][:method][0][:sourcefile] - assert_equal "247", report[:traces][:method][0][:lineno] + assert_equal "#{__LINE__ - 6}", report[:traces][:method][0][:lineno] end end def test_trace_without_root_privileges Busted::Tracer.stub :exists?, true do