Sha256: 4fb985e01219a402f8ccfb8277c643bf546bc9f2dccf1b5815025ec0f35b6ca1

Contents?: true

Size: 876 Bytes

Versions: 80

Compression:

Stored size: 876 Bytes

Contents

require 'test_helper'
require 'tins/xt/expose'

module Tins
  class ExposeTest < Test::Unit::TestCase
    class A
      def priv
        :priv
      end
      private :priv

      def prot(x)
        :prot
      end
      protected :prot
    end

    def setup
      @a = A.new
    end

    def test_raises_exception_unless_exposed
      assert_raise(NoMethodError) { @a.priv }
      assert_raise(NoMethodError) { @a.prot(:any) }
    end

    def test_exposes_all_methods
      @a = @a.expose
      assert_equal :priv, @a.priv
      assert_equal :prot, @a.prot(:any)
    end

    def test_exposes_all_methods_in_block
      assert_equal :priv, @a.expose { priv }
      assert_equal :prot, @a.expose { prot(:any) }
    end

    def test_exposes_specified_method_call
      assert_equal :priv, @a.expose(:priv)
      assert_equal :prot, @a.expose(:prot, :any)
    end
  end
end

Version data entries

80 entries across 67 versions & 3 rubygems

Version Path
tins-1.38.0 tests/expose_test.rb
tins-1.37.1 tests/expose_test.rb
tins-1.37.0 tests/expose_test.rb
tins-1.36.1 tests/expose_test.rb
tins-1.36.0 tests/expose_test.rb
tins-1.35.0 tests/expose_test.rb
tins-1.34.0 tests/expose_test.rb
tins-1.33.0 tests/expose_test.rb
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/expose_test.rb
tins-1.32.1 tests/expose_test.rb
tins-1.32.0 tests/expose_test.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/expose_test.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/expose_test.rb
tins-1.31.1 tests/expose_test.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/tins-1.31.0/tests/expose_test.rb
tins-1.31.0 tests/expose_test.rb
tins-1.30.0 tests/expose_test.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/tests/expose_test.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/tins-1.29.1/tests/expose_test.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/tests/expose_test.rb