diff options
Diffstat (limited to 'spec/ruby/core/kernel/shared/then.rb')
| -rw-r--r-- | spec/ruby/core/kernel/shared/then.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/ruby/core/kernel/shared/then.rb b/spec/ruby/core/kernel/shared/then.rb new file mode 100644 index 0000000000..c71393bf50 --- /dev/null +++ b/spec/ruby/core/kernel/shared/then.rb @@ -0,0 +1,20 @@ +describe :kernel_then, shared: true do + it "yields self" do + object = Object.new + object.send(@method) { |o| o.should.equal? object } + end + + it "returns the block return value" do + object = Object.new + object.send(@method) { 42 }.should.equal? 42 + end + + it "returns a sized Enumerator when no block given" do + object = Object.new + enum = object.send(@method) + enum.should.instance_of? Enumerator + enum.size.should.equal? 1 + enum.peek.should.equal? object + enum.first.should.equal? object + end +end |
