spec/symbol_spec.rb in lambda_driver-1.0.0 vs spec/symbol_spec.rb in lambda_driver-1.1.0

- old
+ new

@@ -53,11 +53,34 @@ subject { :to_s } it_should_behave_like 'aliases' it_should_behave_like 'aliases(varargs)' do - subject { :product } - let(:x) { [:bar] } - let(:y) { [:foo] } + subject { :delete} + let(:x) { :bar } + let(:y) { 'a' } end + end + + describe '#to_method' do + subject { :index.to_method } + + let(:obj) { "foobarbaz" } + + it { should be_a_kind_of Proc } + it('symbol.to_method.call(obj) should returns Method'){ + subject.call(obj).should be_a_kind_of Method + } + + it('symbol.to_method.call(obj).call(x) should be obj.method(symbol).call(x)'){ + subject.call(obj).call("bar").should == obj.method(:index).call("bar") + } + + it('-:symbol.to_method.call(obj) should returns Method'){ + (-:index).call(obj).should be_a_kind_of Method + } + + it('-:symbol.to_method.call(obj).call(x) should be obj.method(symbol).call(x)'){ + (-:index).call(obj).call("bar").should == obj.method(:index).call("bar") + } end end