Sha256: 1321d01ba9f30eadfeaafac1a8020a40c5ca60b7dcdc604fbae9e587fa0c041b

Contents?: true

Size: 818 Bytes

Versions: 1

Compression:

Stored size: 818 Bytes

Contents

require 'test_helper'
require 'dslkit/polite'

class DynamicScopeTest < Test::Unit::TestCase
  include DSLKit::DynamicScope

  def test_dynamic_scoping
    assert_raise(NameError) { foo }
    assert_equal false, dynamic_defined?(:foo)
    dynamic_scope do
      assert_raise(NameError) { foo }
      assert_equal false, dynamic_defined?(:foo)
      self.foo = 1
      assert_equal 1, foo
      assert_equal true, dynamic_defined?(:foo)
      dynamic_scope do
        assert_equal 1, foo
        assert_equal true, dynamic_defined?(:foo)
        self.foo = 2
        assert_equal 2, foo
        dynamic_scope do
          assert_equal 2, foo
        end
        assert_equal 2, foo
      end
      assert_equal 1, foo
    end
    assert_equal false, dynamic_defined?(:foo)
    assert_raise(NameError) { foo }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dslkit-0.2.13 tests/dynamic_scope_test.rb