![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/lib/gems/2.5.0/gems/tins-1.28.0/tests/ |
Upload File : |
require 'test_helper' require 'tins' module Tins class ImplementTest < Test::Unit::TestCase require 'tins/xt/implement' class A implement :foo implement :bar, in: :subclass implement :baz, in: :submodule implement :qux, 'blub %{method_name} blob %{module}' implement :quux, 'blab' implement def foobar(arg1, arg2: :baz) end, in: :subclass end def test_implement_default assert_equal( 'method foo not implemented in module Tins::ImplementTest::A', error_message { A.new.foo } ) end def test_implement_subclass assert_equal( 'method bar has to be implemented in subclasses of '\ 'Tins::ImplementTest::A', error_message { A.new.bar } ) end def test_implement_submodule assert_equal( 'method baz has to be implemented in submodules of '\ 'Tins::ImplementTest::A', error_message { A.new.baz } ) end def test_implement_custom_with_vars assert_equal( 'blub qux blob Tins::ImplementTest::A', error_message { A.new.qux } ) end def test_implement_custom_without_vars assert_equal('blab', error_message { A.new.quux }) end if RUBY_VERSION >= "2.1" def test_implement_def_subclass assert_equal( 'method foobar(arg1,arg2:?) has to be '\ 'implemented in subclasses of Tins::ImplementTest::A', error_message { A.new.foobar } ) end end private def error_message yield rescue NotImplementedError => e e.message end end end