-
Notifications
You must be signed in to change notification settings - Fork 5.4k
/
Copy pathunescapeHTML_spec.rb
44 lines (37 loc) · 1.18 KB
/
unescapeHTML_spec.rb
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
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
it "unescapes invalid encoding" do
input = "\xFF&"
CGI.unescapeHTML(input).should == input
end
end