require_relative '../../spec_helper' 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 it "leaves partial invalid &# at end of string" do input = "fooooooo&#" CGI.unescapeHTML(input).should == input end end