mirror of
https://github.com/ruby/ruby.git
synced 2025-09-16 09:04:05 +02:00
Merge cgi-0.3.7
This commit is contained in:
parent
946907f218
commit
9e5d68f03f
4 changed files with 24 additions and 5 deletions
|
@ -288,7 +288,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class CGI
|
class CGI
|
||||||
VERSION = "0.3.6"
|
VERSION = "0.3.7"
|
||||||
end
|
end
|
||||||
|
|
||||||
require 'cgi/core'
|
require 'cgi/core'
|
||||||
|
|
|
@ -190,9 +190,10 @@ class CGI
|
||||||
values ||= ""
|
values ||= ""
|
||||||
values = values.split('&').collect{|v| CGI.unescape(v,@@accept_charset) }
|
values = values.split('&').collect{|v| CGI.unescape(v,@@accept_charset) }
|
||||||
if cookies.has_key?(name)
|
if cookies.has_key?(name)
|
||||||
values = cookies[name].value + values
|
cookies[name].concat(values)
|
||||||
|
else
|
||||||
|
cookies[name] = Cookie.new(name, *values)
|
||||||
end
|
end
|
||||||
cookies[name] = Cookie.new(name, *values)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
cookies
|
cookies
|
||||||
|
|
|
@ -178,7 +178,7 @@ module CGI::Util
|
||||||
def escapeElement(string, *elements)
|
def escapeElement(string, *elements)
|
||||||
elements = elements[0] if elements[0].kind_of?(Array)
|
elements = elements[0] if elements[0].kind_of?(Array)
|
||||||
unless elements.empty?
|
unless elements.empty?
|
||||||
string.gsub(/<\/?(?:#{elements.join("|")})(?!\w)(?:.|\n)*?>/i) do
|
string.gsub(/<\/?(?:#{elements.join("|")})\b[^<>]*+>?/im) do
|
||||||
CGI.escapeHTML($&)
|
CGI.escapeHTML($&)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -198,7 +198,7 @@ module CGI::Util
|
||||||
def unescapeElement(string, *elements)
|
def unescapeElement(string, *elements)
|
||||||
elements = elements[0] if elements[0].kind_of?(Array)
|
elements = elements[0] if elements[0].kind_of?(Array)
|
||||||
unless elements.empty?
|
unless elements.empty?
|
||||||
string.gsub(/<\/?(?:#{elements.join("|")})(?!\w)(?:.|\n)*?>/i) do
|
string.gsub(/<\/?(?:#{elements.join("|")})\b(?>[^&]+|&(?![gl]t;)\w+;)*(?:>)?/im) do
|
||||||
unescapeHTML($&)
|
unescapeHTML($&)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
|
@ -244,6 +244,14 @@ class CGIUtilTest < Test::Unit::TestCase
|
||||||
assert_equal("<BR><A HREF="url"></A>", escapeElement('<BR><A HREF="url"></A>', ["A", "IMG"]))
|
assert_equal("<BR><A HREF="url"></A>", escapeElement('<BR><A HREF="url"></A>', ["A", "IMG"]))
|
||||||
assert_equal("<BR><A HREF="url"></A>", escape_element('<BR><A HREF="url"></A>', "A", "IMG"))
|
assert_equal("<BR><A HREF="url"></A>", escape_element('<BR><A HREF="url"></A>', "A", "IMG"))
|
||||||
assert_equal("<BR><A HREF="url"></A>", escape_element('<BR><A HREF="url"></A>', ["A", "IMG"]))
|
assert_equal("<BR><A HREF="url"></A>", escape_element('<BR><A HREF="url"></A>', ["A", "IMG"]))
|
||||||
|
|
||||||
|
assert_equal("<A <A HREF="url"></A>", escapeElement('<A <A HREF="url"></A>', "A", "IMG"))
|
||||||
|
assert_equal("<A <A HREF="url"></A>", escapeElement('<A <A HREF="url"></A>', ["A", "IMG"]))
|
||||||
|
assert_equal("<A <A HREF="url"></A>", escape_element('<A <A HREF="url"></A>', "A", "IMG"))
|
||||||
|
assert_equal("<A <A HREF="url"></A>", escape_element('<A <A HREF="url"></A>', ["A", "IMG"]))
|
||||||
|
|
||||||
|
assert_equal("<A <A ", escapeElement('<A <A ', "A", "IMG"))
|
||||||
|
assert_equal("<A <A ", escapeElement('<A <A ', ["A", "IMG"]))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -252,6 +260,16 @@ class CGIUtilTest < Test::Unit::TestCase
|
||||||
assert_equal('<BR><A HREF="url"></A>', unescapeElement(escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"]))
|
assert_equal('<BR><A HREF="url"></A>', unescapeElement(escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"]))
|
||||||
assert_equal('<BR><A HREF="url"></A>', unescape_element(escapeHTML('<BR><A HREF="url"></A>'), "A", "IMG"))
|
assert_equal('<BR><A HREF="url"></A>', unescape_element(escapeHTML('<BR><A HREF="url"></A>'), "A", "IMG"))
|
||||||
assert_equal('<BR><A HREF="url"></A>', unescape_element(escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"]))
|
assert_equal('<BR><A HREF="url"></A>', unescape_element(escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"]))
|
||||||
|
|
||||||
|
assert_equal('<A <A HREF="url"></A>', unescapeElement(escapeHTML('<A <A HREF="url"></A>'), "A", "IMG"))
|
||||||
|
assert_equal('<A <A HREF="url"></A>', unescapeElement(escapeHTML('<A <A HREF="url"></A>'), ["A", "IMG"]))
|
||||||
|
assert_equal('<A <A HREF="url"></A>', unescape_element(escapeHTML('<A <A HREF="url"></A>'), "A", "IMG"))
|
||||||
|
assert_equal('<A <A HREF="url"></A>', unescape_element(escapeHTML('<A <A HREF="url"></A>'), ["A", "IMG"]))
|
||||||
|
|
||||||
|
assert_equal('<A <A ', unescapeElement(escapeHTML('<A <A '), "A", "IMG"))
|
||||||
|
assert_equal('<A <A ', unescapeElement(escapeHTML('<A <A '), ["A", "IMG"]))
|
||||||
|
assert_equal('<A <A ', unescape_element(escapeHTML('<A <A '), "A", "IMG"))
|
||||||
|
assert_equal('<A <A ', unescape_element(escapeHTML('<A <A '), ["A", "IMG"]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue