diff options
Diffstat (limited to 'spec/ruby/core/string/shared/to_sym.rb')
-rw-r--r-- | spec/ruby/core/string/shared/to_sym.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/ruby/core/string/shared/to_sym.rb b/spec/ruby/core/string/shared/to_sym.rb new file mode 100644 index 0000000000..501247078d --- /dev/null +++ b/spec/ruby/core/string/shared/to_sym.rb @@ -0,0 +1,24 @@ +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 "does not special case +(binary) and -(binary)" do + "+(binary)".send(@method).should == :"+(binary)" + "-(binary)".send(@method).should == :"-(binary)" + end + + it "does not special case certain operators" do + [ ["!@", :"!@"], + ["~@", :"~@"], + ["!(unary)", :"!(unary)"], + ["~(unary)", :"~(unary)"], + ["+(unary)", :"+(unary)"], + ["-(unary)", :"-(unary)"] + ].should be_computed_by(@method) + end +end |