Sha256: 9efc0f8c73392ab281505f40c194a724efe1305110740a3161c61c739ea6126b

Contents?: true

Size: 934 Bytes

Versions: 31

Compression:

Stored size: 934 Bytes

Contents

##
# ensure Test

assert('ensure - context - yield') do
  class EnsureYieldBreak
    attr_reader :ensure_context
    def try
      yield
    ensure
      @ensure_context = self
    end
  end

  yielder = EnsureYieldBreak.new
  yielder.try do
  end
  assert_equal yielder, yielder.ensure_context
end

assert('ensure - context - yield and break') do
  class EnsureYieldBreak
    attr_reader :ensure_context
    def try
      yield
    ensure
      @ensure_context = self
    end
  end

  yielder = EnsureYieldBreak.new
  yielder.try do
    break
  end
  assert_equal yielder, yielder.ensure_context
end

assert('ensure - context - yield and return') do
  class EnsureYieldBreak
    attr_reader :ensure_context
    def try
      yield
    ensure
      @ensure_context = self
    end
  end

  yielder = EnsureYieldBreak.new
  lambda do
    yielder.try do
      return
    end
  end.call
  assert_equal yielder, yielder.ensure_context
end

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
script_core-0.2.5 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.2.4 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.2.3 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.2.2 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.2.1 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.2.0 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.1.1 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.1.0 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.0.6 ext/enterprise_script_service/mruby/test/t/ensure.rb
script_core-0.0.5 ext/enterprise_script_service/mruby/test/t/ensure.rb
esruby-0.2.0 resources/mruby/test/t/ensure.rb
esruby-0.1.5 resources/mruby/test/t/ensure.rb
esruby-0.1.4 resources/mruby/test/t/ensure.rb
esruby-0.1.3 resources/mruby/test/t/ensure.rb
esruby-0.1.2 resources/mruby/test/t/ensure.rb
esruby-0.1.1 resources/mruby/test/t/ensure.rb
esruby-0.1.0 resources/mruby/test/t/ensure.rb
esruby-0.0.11 resources/mruby/test/t/ensure.rb
esruby-0.0.10 resources/mruby/test/t/ensure.rb
esruby-0.0.9 resources/mruby/test/t/ensure.rb