1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
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\"",
:" " => ":\" \"",
}
ruby_version_is ""..."1.9" do
symbols.each do |input, expected|
expected = expected[0] if expected.is_a?(Array)
it "returns self as a symbol literal for #{expected}" do
input.inspect.should == expected
end
end
end
ruby_version_is "1.9" do
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
end
|