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