yarv-diff:265
From: ko1 atdot.net
Date: 15 Feb 2006 13:13:31 -0000
Subject: [yarv-diff:265] r428 - in trunk: . lib lib/runit lib/runit/cui
Author: aamine
Date: 2006-02-15 22:13:31 +0900 (Wed, 15 Feb 2006)
New Revision: 428
Added:
trunk/lib/runit/
trunk/lib/runit/assert.rb
trunk/lib/runit/cui/
trunk/lib/runit/cui/testrunner.rb
trunk/lib/runit/error.rb
trunk/lib/runit/testcase.rb
trunk/lib/runit/testresult.rb
trunk/lib/runit/testsuite.rb
trunk/lib/runit/topublic.rb
Modified:
trunk/ChangeLog
Log:
* lib/runit: forgot to commit.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/ChangeLog 2006-02-15 13:13:31 UTC (rev 428)
@@ -4,6 +4,11 @@
# from Mon, 03 May 2004 01:24:19 +0900
#
+2006-02-15(Wed) 22:13:29 +0900 Minero Aoki <aamine loveruby.net>
+
+ * lib/runit: forgot to commit.
+
+
2006-02-15(Wed) 22:12:25 +0900 Minero Aoki <aamine loveruby.net>
* lib/weakref.rb: do not use Thread.critical=.
Added: trunk/lib/runit/assert.rb
===================================================================
--- trunk/lib/runit/assert.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/assert.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,73 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'test/unit/assertions'
+require 'runit/error'
+
+module RUNIT
+ module Assert
+ include Test::Unit::Assertions
+
+ def setup_assert
+ end
+
+ def assert_no_exception(*args, &block)
+ assert_nothing_raised(*args, &block)
+ end
+
+ # To deal with the fact that RubyUnit does not check that the
+ # regular expression is, indeed, a regular expression, if it is
+ # not, we do our own assertion using the same semantics as
+ # RubyUnit
+ def assert_match(actual_string, expected_re, message="")
+ _wrap_assertion {
+ full_message = build_message(message, "Expected <?> to match <?>", actual_string, expected_re)
+ assert_block(full_message) {
+ expected_re =~ actual_string
+ }
+ Regexp.last_match
+ }
+ end
+
+ def assert_not_nil(actual, message="")
+ assert(!actual.nil?, message)
+ end
+
+ def assert_not_match(actual_string, expected_re, message="")
+ assert_no_match(expected_re, actual_string, message)
+ end
+
+ def assert_matches(*args)
+ assert_match(*args)
+ end
+
+ def assert_fail(message="")
+ flunk(message)
+ end
+
+ def assert_equal_float(expected, actual, delta, message="")
+ assert_in_delta(expected, actual, delta, message)
+ end
+
+ def assert_send(object, method, *args)
+ super([object, method, *args])
+ end
+
+ def assert_exception(exception, message="", &block)
+ assert_raises(exception, message, &block)
+ end
+
+ def assert_respond_to(method, object, message="")
+ if (called_internally?)
+ super
+ else
+ super(object, method, message)
+ end
+ end
+
+ def called_internally?
+ /assertions\.rb/.match(caller[1])
+ end
+ end
+end
Added: trunk/lib/runit/cui/testrunner.rb
===================================================================
--- trunk/lib/runit/cui/testrunner.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/cui/testrunner.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,51 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'test/unit/ui/console/testrunner'
+require 'runit/testresult'
+
+module RUNIT
+ module CUI
+ class TestRunner < Test::Unit::UI::Console::TestRunner
+ @@quiet_mode = false
+
+ def self.run(suite)
+ self.new().run(suite)
+ end
+
+ def initialize
+ super nil
+ end
+
+ def run(suite, quiet_mode=@@quiet_mode)
+ @suite = suite
+ def @suite.suite
+ self
+ end
+ @output_level = (quiet_mode ? Test::Unit::UI::PROGRESS_ONLY : Test::Unit::UI::VERBOSE)
+ start
+ end
+
+ def create_mediator(suite)
+ mediator = Test::Unit::UI::TestRunnerMediator.new(suite)
+ class << mediator
+ attr_writer :result_delegate
+ def create_result
+ return @result_delegate.create_result
+ end
+ end
+ mediator.result_delegate = self
+ return mediator
+ end
+
+ def create_result
+ return RUNIT::TestResult.new
+ end
+
+ def self.quiet_mode=(boolean)
+ @@quiet_mode = boolean
+ end
+ end
+ end
+end
Added: trunk/lib/runit/error.rb
===================================================================
--- trunk/lib/runit/error.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/error.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,9 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'test/unit/assertionfailederror.rb'
+
+module RUNIT
+ AssertionFailedError = Test::Unit::AssertionFailedError
+end
Added: trunk/lib/runit/testcase.rb
===================================================================
--- trunk/lib/runit/testcase.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/testcase.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,45 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'runit/testresult'
+require 'runit/testsuite'
+require 'runit/assert'
+require 'runit/error'
+require 'test/unit/testcase'
+
+module RUNIT
+ class TestCase < Test::Unit::TestCase
+ include RUNIT::Assert
+
+ def self.suite
+ method_names = instance_methods(true)
+ tests = method_names.delete_if { |method_name| method_name !~ /^test/ }
+ suite = TestSuite.new(name)
+ tests.each {
+ |test|
+ catch(:invalid_test) {
+ suite << new(test, name)
+ }
+ }
+ return suite
+ end
+
+ def initialize(test_name, suite_name=self.class.name)
+ super(test_name)
+ end
+
+ def assert_equals(*args)
+ assert_equal(*args)
+ end
+
+ def name
+ super.sub(/^(.*?)\((.*)\)$/, '\2#\1')
+ end
+
+ def run(result, &progress_block)
+ progress_block = proc {} unless (block_given?)
+ super(result, &progress_block)
+ end
+ end
+end
Added: trunk/lib/runit/testresult.rb
===================================================================
--- trunk/lib/runit/testresult.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/testresult.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,44 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'test/unit/testresult'
+
+module RUNIT
+ class TestResult < Test::Unit::TestResult
+ attr_reader(:errors, :failures)
+ def succeed?
+ return passed?
+ end
+ def failure_size
+ return failure_count
+ end
+ def run_asserts
+ return assertion_count
+ end
+ def error_size
+ return error_count
+ end
+ def run_tests
+ return run_count
+ end
+ def add_failure(failure)
+ def failure.at
+ return location
+ end
+ def failure.err
+ return message
+ end
+ super(failure)
+ end
+ def add_error(error)
+ def error.at
+ return location
+ end
+ def error.err
+ return exception
+ end
+ super(error)
+ end
+ end
+end
Added: trunk/lib/runit/testsuite.rb
===================================================================
--- trunk/lib/runit/testsuite.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/testsuite.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,26 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+require 'test/unit/testsuite'
+
+module RUNIT
+ class TestSuite < Test::Unit::TestSuite
+ def add_test(*args)
+ add(*args)
+ end
+
+ def add(*args)
+ self.<<(*args)
+ end
+
+ def count_test_cases
+ return size
+ end
+
+ def run(result, &progress_block)
+ progress_block = proc {} unless (block_given?)
+ super(result, &progress_block)
+ end
+ end
+end
Added: trunk/lib/runit/topublic.rb
===================================================================
--- trunk/lib/runit/topublic.rb 2006-02-15 13:12:34 UTC (rev 427)
+++ trunk/lib/runit/topublic.rb 2006-02-15 13:13:31 UTC (rev 428)
@@ -0,0 +1,8 @@
+# Author:: Nathaniel Talbott.
+# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
+# License:: Ruby license.
+
+module RUNIT
+ module ToPublic
+ end
+end
--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml