diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-09 22:00:52 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-13 22:23:05 +0900 |
commit | 0616e680865d5c5d82f7547c1e38b348c945591c (patch) | |
tree | 93a92832fe568930eaa6017951b63dfa4e84c5f8 /test | |
parent | 3d580b40e398487e3c6c4edbd50b0d7ad29514b1 (diff) | |
download | plum-0616e680865d5c5d82f7547c1e38b348c945591c.tar.gz |
event_emitter: add test cases
Diffstat (limited to 'test')
-rw-r--r-- | test/plum/test_event_emitter.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/plum/test_event_emitter.rb b/test/plum/test_event_emitter.rb new file mode 100644 index 0000000..01d6001 --- /dev/null +++ b/test/plum/test_event_emitter.rb @@ -0,0 +1,31 @@ +require "test_helper" + +using BinaryString +class EventEmitterTest < Minitest::Test + def test_simple + ret = nil + emitter = new_emitter + emitter.on(:event) {|arg| ret = arg } + emitter.callback(:event, 123) + assert_equal(123, ret) + end + + def test_multiple + ret1 = nil; ret2 = nil + emitter = new_emitter + emitter.on(:event) {|arg| ret1 = arg } + emitter.on(:event) {|arg| ret2 = arg } + emitter.callback(:event, 123) + assert_equal(123, ret1) + assert_equal(123, ret2) + end + + private + def new_emitter + klass = Class.new { + include EventEmitter + public *EventEmitter.private_instance_methods + } + klass.new + end +end |