summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/yield_self_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/kernel/yield_self_spec.rb')
-rw-r--r--spec/ruby/core/kernel/yield_self_spec.rb28
1 files changed, 4 insertions, 24 deletions
diff --git a/spec/ruby/core/kernel/yield_self_spec.rb b/spec/ruby/core/kernel/yield_self_spec.rb
index 817c01f288..e311dcee47 100644
--- a/spec/ruby/core/kernel/yield_self_spec.rb
+++ b/spec/ruby/core/kernel/yield_self_spec.rb
@@ -1,26 +1,6 @@
-require File.expand_path('../../../spec_helper', __FILE__)
+require_relative '../../spec_helper'
+require_relative 'shared/then'
-has_yield_self = VersionGuard.new("2.5").match? || PlatformGuard.implementation?(:truffleruby)
-
-if has_yield_self
- describe "Kernel#yield_self" do
- it "yields self" do
- object = Object.new
- object.yield_self { |o| o.should equal object }
- end
-
- it "returns the block return value" do
- object = Object.new
- object.yield_self { 42 }.should equal 42
- end
-
- it "returns a sized Enumerator when no block given" do
- object = Object.new
- enum = object.yield_self
- enum.should be_an_instance_of Enumerator
- enum.size.should equal 1
- enum.peek.should equal object
- enum.first.should equal object
- end
- end
+describe "Kernel#yield_self" do
+ it_behaves_like :kernel_then, :yield_self
end