Sha256: 20b8cc02cf315364242561af825628c5562d28f8fd4a41e8fb26e42c1b807ec0
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
require 'helper' class ContextTest < NeoDCICase class TestContext < Neo::DCI::Context def initialize(*args) @args = args end end test "initialize is private" do assert_raises NoMethodError do TestContext.new end end test "raises not implement error" do assert_raises NotImplementedError do Class.new(Neo::DCI::Context) do callbacks :foo end.call {} end end test "yields callback" do context = Class.new(TestContext) do callbacks :success def call callback.call :success, @args end end block_called = false result = nil context.call(:foo, :bar) do |callback| block_called = true callback.on :success do |args| result = args end end assert_equal true, block_called assert_equal [ :foo, :bar ], result end test "ensure callback called" do context = Class.new(TestContext) do callbacks :success def call end end e = assert_raises Neo::DCI::Context::NoCallbackCalled do context.call do |callback| end end assert_equal "No callback called. Available callbacks: success", e.message end test "do not overwrite callbacks in subclasses" do context1 = Class.new(TestContext) { callbacks :foo } context2 = Class.new(TestContext) { callbacks :bar } assert_equal [ :foo ], context1.callbacks assert_equal [ :bar ], context2.callbacks end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
neo-dci-0.4.0 | test/context_test.rb |
neo-dci-0.3.0 | test/context_test.rb |