Sha256: 642aa17b221d60d39c2caf7f25b3781a9722da0e5d90e4af7b4f91beaaaee638
Contents?: true
Size: 1.39 KB
Versions: 52
Compression:
Stored size: 1.39 KB
Contents
describe :string_to_sym, :shared => true do it "returns the symbol corresponding to self" do "Koala".send(@method).should == :Koala 'cat'.send(@method).should == :cat '@cat'.send(@method).should == :@cat 'cat and dog'.send(@method).should == :"cat and dog" "abc=".send(@method).should == :abc= end it "special cases +(binary) and -(binary)" do "+(binary)".to_sym.should == :+ "-(binary)".to_sym.should == :- end ruby_version_is ""..."1.9" do it "special cases !@ and ~@" do "!@".to_sym.should == :"!" "~@".to_sym.should == :~ end it "special cases !(unary) and ~(unary)" do "!(unary)".to_sym.should == :"!" "~(unary)".to_sym.should == :~ end it "special cases +(unary) and -(unary)" do "+(unary)".to_sym.should == :"+@" "-(unary)".to_sym.should == :"-@" end it "raises an ArgumentError when self can't be converted to symbol" do lambda { "".send(@method) }.should raise_error(ArgumentError) lambda { "foo\x00bar".send(@method) }.should raise_error(ArgumentError) end end ruby_version_is "1.9" do it "does not special case certain operators" do [ ["!@", :"!@"], ["~@", :"~@"], ["!(unary)", :"!(unary)"], ["~(unary)", :"~(unary)"], ["+(unary)", :"+(unary)"], ["-(unary)", :"-(unary)"] ].should be_computed_by(:to_sym) end end end
Version data entries
52 entries across 52 versions & 2 rubygems