Sha256: 07378e91430da115cf9e86e3a8002d3add10d6bd4be4e34ab89196e4fd66d6fd

Contents?: true

Size: 646 Bytes

Versions: 14

Compression:

Stored size: 646 Bytes

Contents

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

14 entries across 14 versions & 1 rubygems

Version Path
xot-0.3.3 test/test_invoker.rb
xot-0.3.2 test/test_invoker.rb
xot-0.3.1 test/test_invoker.rb
xot-0.3 test/test_invoker.rb
xot-0.2.1 test/test_invoker.rb
xot-0.2 test/test_invoker.rb
xot-0.1.42 test/test_invoker.rb
xot-0.1.41 test/test_invoker.rb
xot-0.1.40 test/test_invoker.rb
xot-0.1.39 test/test_invoker.rb
xot-0.1.38 test/test_invoker.rb
xot-0.1.37 test/test_invoker.rb
xot-0.1.36 test/test_invoker.rb
xot-0.1.35 test/test_invoker.rb