Sha256: a7a858ca19249601b1a1e06ed25ca204f4537273fb727354e9effdedbbe4ec50

Contents?: true

Size: 979 Bytes

Versions: 4

Compression:

Stored size: 979 Bytes

Contents

require 'test_helper'
require 'dslkit/polite'

class FromModuleTest < Test::Unit::TestCase
  module MyIncludedModule
    def foo
      :foo
    end

    def bar
      :bar
    end
  end

  class MyKlass
    def foo
      :original_foo
    end

    def bar
      :original_bar
    end
  end

  class DerivedKlass < MyKlass
    extend DSLKit::FromModule

    include from :module => MyIncludedModule, :methods => [ :foo ]
  end

  module MyModule
    def foo
      :original_foo
    end

    def bar
      :original_bar
    end
    include MyIncludedModule
  end

  class AnotherDerivedKlass
    include MyModule

    extend DSLKit::FromModule

    include from :module => MyIncludedModule, :methods => :foo
  end

  def test_derived_klass
    c = DerivedKlass.new
    assert_equal :foo, c.foo
    assert_equal :original_bar, c.bar
  end

  def test_another_derived_klass
    c = AnotherDerivedKlass.new
    assert_equal :foo, c.foo
    assert_equal :original_bar, c.bar
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dslkit-0.2.13 tests/from_module_test.rb
dslkit-0.2.12 tests/from_module_test.rb
dslkit-0.2.11 tests/from_module_test.rb
dslkit-0.2.10 tests/from_module_test.rb