1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/rubyspec/core/symbol/inspect_spec.rb
eregon 95e8c48dd3 Add in-tree mspec and ruby/spec
* For easier modifications of ruby/spec by MRI developers.
* .gitignore: track changes under spec.
* spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec.
  These files can therefore be updated like any other file in MRI.
  Instructions are provided in spec/README.
  [Feature #13156] [ruby-core:79246]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 12:04:49 +00:00

105 lines
2.7 KiB
Ruby

require File.expand_path('../../../spec_helper', __FILE__)
describe "Symbol#inspect" do
symbols = {
fred: ":fred",
:fred? => ":fred?",
:fred! => ":fred!",
:$ruby => ":$ruby",
:@ruby => ":@ruby",
:@@ruby => ":@@ruby",
:"$ruby!" => ":\"$ruby!\"",
:"$ruby?" => ":\"$ruby?\"",
:"@ruby!" => ":\"@ruby!\"",
:"@ruby?" => ":\"@ruby?\"",
:"@@ruby!" => ":\"@@ruby!\"",
:"@@ruby?" => ":\"@@ruby?\"",
:$-w => ":$-w",
:"$-ww" => ":\"$-ww\"",
:"$+" => ":$+",
:"$~" => ":$~",
:"$:" => ":$:",
:"$?" => ":$?",
:"$<" => ":$<",
:"$_" => ":$_",
:"$/" => ":$/",
:"$'" => ":$'",
:"$\"" => ":$\"",
:"$$" => ":$$",
:"$." => ":$.",
:"$," => ":$,",
:"$`" => ":$`",
:"$!" => ":$!",
:"$;" => ":$;",
:"$\\" => ":$\\",
:"$=" => ":$=",
:"$*" => ":$*",
:"$>" => ":$>",
:"$&" => ":$&",
:"$@" => ":$@",
:"$1234" => ":$1234",
:-@ => ":-@",
:+@ => ":+@",
:% => ":%",
:& => ":&",
:* => ":*",
:** => ":**",
:"/" => ":/", # lhs quoted for emacs happiness
:< => ":<",
:<= => ":<=",
:<=> => ":<=>",
:== => ":==",
:=== => ":===",
:=~ => ":=~",
:> => ":>",
:>= => ":>=",
:>> => ":>>",
:[] => ":[]",
:[]= => ":[]=",
:"\<\<" => ":\<\<",
:^ => ":^",
:"`" => ":`", # for emacs, and justice!
:~ => ":~",
:| => ":|",
:"!" => [":\"!\"", ":!" ],
:"!=" => [":\"!=\"", ":!="],
:"!~" => [":\"!~\"", ":!~"],
:"\$" => ":\"$\"", # for justice!
:"&&" => ":\"&&\"",
:"'" => ":\"\'\"",
:"," => ":\",\"",
:"." => ":\".\"",
:".." => ":\"..\"",
:"..." => ":\"...\"",
:":" => ":\":\"",
:"::" => ":\"::\"",
:";" => ":\";\"",
:"=" => ":\"=\"",
:"=>" => ":\"=>\"",
:"\?" => ":\"?\"", # rawr!
:"@" => ":\"@\"",
:"||" => ":\"||\"",
:"|||" => ":\"|||\"",
:"++" => ":\"++\"",
:"\"" => ":\"\\\"\"",
:"\"\"" => ":\"\\\"\\\"\"",
:"9" => ":\"9\"",
:"foo bar" => ":\"foo bar\"",
:"*foo" => ":\"*foo\"",
:"foo " => ":\"foo \"",
:" foo" => ":\" foo\"",
:" " => ":\" \"",
}
symbols.each do |input, expected|
expected = expected[1] if expected.is_a?(Array)
it "returns self as a symbol literal for #{expected}" do
input.inspect.should == expected
end
end
end