require 'cgi'
describe "CGI.unescapeHTML" do
it "unescapes '& < > "' to '& < > \"'" do
input = '& < > "'
expected = '& < > "'
CGI::unescapeHTML(input).should == expected
end
it "doesn't unescape other html entities such as '©' or '&heart'" do
input = '©&heart;'
expected = input
CGI::unescapeHTML(input).should == expected
end
it "unescapes 'c' format entities" do
input = '"&'<>'
expected = '"&\'<>'
CGI::unescapeHTML(input).should == expected
end
it "unescapes '香' format entities" do
input = '"&'<>'
expected = '"&\'<>'
CGI::unescapeHTML(input).should == expected
end
it "leaves invalid formatted strings" do
input = '&<&>"&abcdefghijklmn'
expected = '&<&>"&abcdefghijklmn'
CGI::unescapeHTML(input).should == expected
end
end