ruby--ruby/spec/ruby/core/symbol/inspect_spec.rb

106 lines
2.7 KiB
Ruby

require_relative '../../spec_helper'
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