Provides an interface to write any given UI against, hopefully making it easy to write new UIs.
Creates a new TestRunnerMediator initialized to run the passed suite.
# File lib/test/unit/ui/testrunnermediator.rb, line 26 def initialize(suite) @suite = suite end
Runs the suite the TestRunnerMediator was created with.
# File lib/test/unit/ui/testrunnermediator.rb, line 32 def run_suite Unit.run = true result = create_result finished_listener = result.add_listener(TestResult::FINISHED) do |*args| notify_listeners(TestResult::FINISHED, *args) end changed_listener = result.add_listener(TestResult::CHANGED) do |*args| notify_listeners(TestResult::CHANGED, *args) end pass_assertion_listener = result.add_listener(TestResult::PASS_ASSERTION) do |*args| notify_listeners(TestResult::PASS_ASSERTION, *args) end fault_listener = result.add_listener(TestResult::FAULT) do |*args| notify_listeners(TestResult::FAULT, *args) end start_time = Time.now begin notify_listeners(RESET, @suite.size) notify_listeners(STARTED, result) @suite.run(result) do |channel, value| notify_listeners(channel, value) end ensure elapsed_time = Time.now - start_time result.remove_listener(TestResult::FAULT, fault_listener) result.remove_listener(TestResult::CHANGED, changed_listener) result.remove_listener(TestResult::FINISHED, finished_listener) result.remove_listener(TestResult::PASS_ASSERTION, pass_assertion_listener) notify_listeners(FINISHED, elapsed_time) end result end
Generated with the Darkfish Rdoc Generator 2.