Sha256: 568307329bf1d8a65ddc313095446de7ec7dd8676b7c199c94f6c470ea37b8b6

Contents?: true

Size: 997 Bytes

Versions: 21

Compression:

Stored size: 997 Bytes

Contents

module ClassExtendSpecs
  module M1
    def foo
      :class_foo
    end

    def bar
      :class_bar
    end
  end

  class C1
    extend M1
  end

  class C2 < C1
  end

  class C3 < C1
  end

  class C4 < C3
  end
end

describe "Class#extend" do
  it "class should get module methods added as class methods" do
    ClassExtendSpecs::C1.foo.should == :class_foo
    ClassExtendSpecs::C1.bar.should == :class_bar
  end

  it "class should add included methods to its .methods array" do
    ClassExtendSpecs::C1.methods.include?(:foo).should be_true
    ClassExtendSpecs::C1.methods.include?(:bar).should be_true
  end

  it "subclasses should have methods defined from superclass" do
    ClassExtendSpecs::C2.foo.should == :class_foo
    ClassExtendSpecs::C2.bar.should == :class_bar

    ClassExtendSpecs::C3.foo.should == :class_foo
    ClassExtendSpecs::C3.bar.should == :class_bar

    ClassExtendSpecs::C4.foo.should == :class_foo
    ClassExtendSpecs::C4.bar.should == :class_bar
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
opal-0.4.4 spec/opal/class/extend_spec.rb
opal-0.4.3 spec/opal/class/extend_spec.rb
opal-0.4.2 spec/opal/class/extend_spec.rb
opal-0.4.1 spec/opal/class/extend_spec.rb
opal-0.4.0 spec/opal/class/extend_spec.rb
opal-0.3.44 spec/rubyspec/core/class/extend_spec.rb
opal-0.3.43 spec/rubyspec/core/class/extend_spec.rb
opal-0.3.42 spec/core/class/extend_spec.rb
opal-0.3.41 spec/core/class/extend_spec.rb
opal-0.3.40 spec/core/class/extend_spec.rb
opal-0.3.39 spec/core/class/extend_spec.rb
opal-0.3.38 spec/core/class/extend_spec.rb
opal-0.3.37 spec/core/class/extend_spec.rb
opal-0.3.36 spec/core/class/extend_spec.rb
opal-0.3.35 spec/core/class/extend_spec.rb
opal-0.3.34 spec/core/class/extend_spec.rb
opal-0.3.33 spec/core/class/extend_spec.rb
opal-0.3.32 spec/core/class/extend_spec.rb
opal-0.3.31 spec/core/class/extend_spec.rb
opal-0.3.30 spec/core/class/extend_spec.rb