Sha256: 26cad56c4b0336acd42ec0d401105da730f11646089e3d0f6d95f6842f5b4f92

Contents?: true

Size: 674 Bytes

Versions: 13

Compression:

Stored size: 674 Bytes

Contents

# -*- coding: utf-8 -*-


require_relative 'helper'


class TestInvoker < Test::Unit::TestCase

  class Invoker
    include Xot::Invoker
  end

  def invoker (*args, &block)
    Invoker.new *args, &block
  end

  def handler (method, &block)
    o = Object.new
    o.define_singleton_method method, &block
    o
  end

  def test_add_handler ()
    inv, var = invoker, nil

    assert_equal nil, var

    h = handler(:test) {|e| var = e.var}
    inv.add_handler h
    inv.invoke :test, var: 1
    assert_equal 1, var

    inv.invoke :test, var: 2
    assert_equal 2, var

    inv.remove_handler h
    inv.invoke :test, var: 3
    assert_equal 2, var
  end

end# TestInvoker

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
xot-0.1.21 test/test_invoker.rb
xot-0.1.20 test/test_invoker.rb
xot-0.1.19 test/test_invoker.rb
xot-0.1.16 test/test_invoker.rb
xot-0.1.15 test/test_invoker.rb
xot-0.1.14 test/test_invoker.rb
xot-0.1.13 test/test_invoker.rb
xot-0.1.12 test/test_invoker.rb
xot-0.1.11 test/test_invoker.rb
xot-0.1.10 test/test_invoker.rb
xot-0.1.9 test/test_invoker.rb
xot-0.1.8 test/test_invoker.rb
xot-0.1.7 test/test_invoker.rb