diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2008-07-28 17:02:23 -0700 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2008-07-28 17:02:23 -0700 |
commit | e14b86453e61d1889d2cc4a5cbe91e96733298d7 (patch) | |
tree | d06485dfbd1ed512b54b5dd66616713a15f4df9e | |
parent | cb485c92efb4f10df99d351be5be85a4b7cfc283 (diff) | |
download | redmine-e14b86453e61d1889d2cc4a5cbe91e96733298d7.tar.gz redmine-e14b86453e61d1889d2cc4a5cbe91e96733298d7.zip |
Implementing more unit tests for the plugin hooks
-rw-r--r-- | test/unit/lib/redmine/plugin_hook_test.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/unit/lib/redmine/plugin_hook_test.rb b/test/unit/lib/redmine/plugin_hook_test.rb index 75634d85c..22b58541b 100644 --- a/test/unit/lib/redmine/plugin_hook_test.rb +++ b/test/unit/lib/redmine/plugin_hook_test.rb @@ -1,9 +1,52 @@ require File.dirname(__FILE__) + '/../../../test_helper' class Redmine::Plugin::Hook::ManagerTest < Test::Unit::TestCase + def setup + @manager = Redmine::Plugin::Hook::Manager + end + + def teardown + @manager.clear_listeners + end + def test_sanity assert true end + + def test_hook_format + assert_kind_of Hash, @manager::hooks + @manager::hooks.each do |hook, registrations| + assert_kind_of Symbol, hook + assert_kind_of Array, registrations + assert_equal 0, registrations.length + end + end + + def test_valid_hook + assert @manager::valid_hook?(:issue_show) + end + + def test_invalid_hook + assert_equal false, @manager::valid_hook?(:an_invalid_hook_name) + end + + def test_clear_listeners + assert_equal 0, @manager::hooks[:issue_show].length + @manager.add_listener(:issue_show, Proc.new { } ) + @manager.add_listener(:issue_show, Proc.new { } ) + @manager.add_listener(:issue_show, Proc.new { } ) + @manager.add_listener(:issue_show, Proc.new { } ) + assert_equal 4, @manager::hooks[:issue_show].length + + @manager.clear_listeners + assert_equal 0, @manager::hooks[:issue_show].length + end + + def test_add_listener + assert_equal 0, @manager::hooks[:issue_show].length + @manager.add_listener(:issue_show, Proc.new { } ) + assert_equal 1, @manager::hooks[:issue_show].length + end end class Redmine::Plugin::Hook::BaseTest < Test::Unit::TestCase |