summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/kernel/lambda_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/kernel/lambda_spec.rb')
-rw-r--r--spec/rubyspec/core/kernel/lambda_spec.rb86
1 files changed, 0 insertions, 86 deletions
diff --git a/spec/rubyspec/core/kernel/lambda_spec.rb b/spec/rubyspec/core/kernel/lambda_spec.rb
deleted file mode 100644
index 8fa0075675..0000000000
--- a/spec/rubyspec/core/kernel/lambda_spec.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-require File.expand_path('../../../spec_helper', __FILE__)
-require File.expand_path('../fixtures/classes', __FILE__)
-require File.expand_path('../shared/lambda', __FILE__)
-
-# The functionality of lambdas is specified in core/proc
-
-describe "Kernel.lambda" do
- it_behaves_like(:kernel_lambda, :lambda)
-
- it "is a private method" do
- Kernel.should have_private_instance_method(:lambda)
- end
-
- it "creates a lambda-style Proc if given a literal block" do
- l = lambda { 42 }
- l.lambda?.should be_true
- end
-
- it "returned the passed Proc if given an existing Proc" do
- some_proc = proc {}
- l = lambda(&some_proc)
- l.should equal(some_proc)
- l.lambda?.should be_false
- end
-
- it "checks the arity of the call when no args are specified" do
- l = lambda { :called }
- l.call.should == :called
-
- lambda { l.call(1) }.should raise_error(ArgumentError)
- lambda { l.call(1, 2) }.should raise_error(ArgumentError)
- end
-
- it "checks the arity when 1 arg is specified" do
- l = lambda { |a| :called }
- l.call(1).should == :called
-
- lambda { l.call }.should raise_error(ArgumentError)
- lambda { l.call(1, 2) }.should raise_error(ArgumentError)
- end
-
- it "does not check the arity when passing a Proc with &" do
- l = lambda { || :called }
- p = proc { || :called }
-
- lambda { l.call(1) }.should raise_error(ArgumentError)
- p.call(1).should == :called
- end
-
- it "accepts 0 arguments when used with ||" do
- lambda {
- lambda { || }.call(1)
- }.should raise_error(ArgumentError)
- end
-
- it "strictly checks the arity when 0 or 2..inf args are specified" do
- l = lambda { |a,b| }
-
- lambda {
- l.call
- }.should raise_error(ArgumentError)
-
- lambda {
- l.call(1)
- }.should raise_error(ArgumentError)
-
- lambda {
- l.call(1,2)
- }.should_not raise_error(ArgumentError)
- end
-
- it "returns from the lambda itself, not the creation site of the lambda" do
- @reached_end_of_method = nil
- def test
- send(:lambda) { return }.call
- @reached_end_of_method = true
- end
- test
- @reached_end_of_method.should be_true
- end
-
- it "allows long returns to flow through it" do
- KernelSpecs::Lambda.new.outer.should == :good
- end
-end
-