diff options
Diffstat (limited to 'spec/ruby/core/module/append_features_spec.rb')
| -rw-r--r-- | spec/ruby/core/module/append_features_spec.rb | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/spec/ruby/core/module/append_features_spec.rb b/spec/ruby/core/module/append_features_spec.rb index ceb8c3f8eb..4d2207330d 100644 --- a/spec/ruby/core/module/append_features_spec.rb +++ b/spec/ruby/core/module/append_features_spec.rb @@ -1,20 +1,20 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../fixtures/classes', __FILE__) +require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe "Module#append_features" do it "is a private method" do - Module.should have_private_instance_method(:append_features) + Module.private_instance_methods(false).should.include?(:append_features) end describe "on Class" do it "is undefined" do - Class.should_not have_private_instance_method(:append_features, true) + Class.private_instance_methods(true).should_not.include?(:append_features) end it "raises a TypeError if calling after rebinded to Class" do - lambda { + -> { Module.instance_method(:append_features).bind(Class.new).call Module.new - }.should raise_error(TypeError) + }.should.raise(TypeError) end end @@ -37,37 +37,25 @@ describe "Module#append_features" do end it "raises an ArgumentError on a cyclic include" do - lambda { + -> { ModuleSpecs::CyclicAppendA.send(:append_features, ModuleSpecs::CyclicAppendA) - }.should raise_error(ArgumentError) + }.should.raise(ArgumentError) - lambda { + -> { ModuleSpecs::CyclicAppendB.send(:append_features, ModuleSpecs::CyclicAppendA) - }.should raise_error(ArgumentError) + }.should.raise(ArgumentError) end - it "copies own tainted status to the given module" do - other = Module.new - Module.new.taint.send :append_features, other - other.tainted?.should be_true - end - - it "copies own untrusted status to the given module" do - other = Module.new - Module.new.untrust.send :append_features, other - other.untrusted?.should be_true - end - describe "when other is frozen" do before :each do @receiver = Module.new @other = Module.new.freeze end - it "raises a RuntimeError before appending self" do - lambda { @receiver.send(:append_features, @other) }.should raise_error(RuntimeError) - @other.ancestors.should_not include(@receiver) + it "raises a FrozenError before appending self" do + -> { @receiver.send(:append_features, @other) }.should.raise(FrozenError) + @other.ancestors.should_not.include?(@receiver) end end end |
