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