summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-17 14:11:01 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-17 14:11:01 +0000
commitd06a7cfeddc376fdf6150e5bc409c6e507ede068 (patch)
treec366b13e818870b03cd03643bb09aad9aac62f63 /spec
parent29a26009947cdde301cf7b1cc80decdb4cc04ca1 (diff)
spec/rubyspec: Add `ruby_version_is` guard
for future backport to ruby/spec repository. See r58772 r58773 r58774. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec')
-rw-r--r--spec/rubyspec/library/cgi/escape_spec.rb16
-rw-r--r--spec/rubyspec/library/erb/util/shared/url_encode.rb16
2 files changed, 28 insertions, 4 deletions
diff --git a/spec/rubyspec/library/cgi/escape_spec.rb b/spec/rubyspec/library/cgi/escape_spec.rb
index 8b73310403..cf8861a39f 100644
--- a/spec/rubyspec/library/cgi/escape_spec.rb
+++ b/spec/rubyspec/library/cgi/escape_spec.rb
@@ -3,12 +3,24 @@ require 'cgi'
describe "CGI.escape" do
it "url-encodes the passed argument" do
- input = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
- expected = "+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~"
+ input = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}"
+ expected = "+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D"
CGI.escape(input).should == expected
input = "http://ja.wikipedia.org/wiki/\343\203\255\343\203\240\343\202\271\343\202\253\343\203\273\343\203\221\343\203\255\343\203\273\343\202\246\343\203\253\343\203\273\343\203\251\343\203\224\343\203\245\343\202\277"
expected = 'http%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%E3%83%AD%E3%83%A0%E3%82%B9%E3%82%AB%E3%83%BB%E3%83%91%E3%83%AD%E3%83%BB%E3%82%A6%E3%83%AB%E3%83%BB%E3%83%A9%E3%83%94%E3%83%A5%E3%82%BF'
CGI.escape(input).should == expected
end
+
+ ruby_version_is ""..."2.5" do
+ it "escapes tilde" do
+ CGI.escape("~").should == "%7E"
+ end
+ end
+
+ ruby_version_is "2.5" do
+ it "does not escape tilde" do
+ CGI.escape("~").should == "~"
+ end
+ end
end
diff --git a/spec/rubyspec/library/erb/util/shared/url_encode.rb b/spec/rubyspec/library/erb/util/shared/url_encode.rb
index 0677563f5c..5ac6215523 100644
--- a/spec/rubyspec/library/erb/util/shared/url_encode.rb
+++ b/spec/rubyspec/library/erb/util/shared/url_encode.rb
@@ -1,11 +1,23 @@
describe :erb_util_url_encode, shared: true do
it "encode characters" do
#input = (0x20..0x7E).to_a.collect{|ch| ch.chr}.join
- input = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
- expected = "%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~"
+ input = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}"
+ expected = "%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D"
ERB::Util.__send__(@method, input).should == expected
end
+ ruby_version_is ""..."2.5" do
+ it "escapes tilde" do
+ ERB::Util.__send__(@method, "~").should == "%7E"
+ end
+ end
+
+ ruby_version_is "2.5" do
+ it "does not escape tilde" do
+ ERB::Util.__send__(@method, "~").should == "~"
+ end
+ end
+
it "encode unicode string" do
input = "http://ja.wikipedia.org/wiki/\343\203\255\343\203\240\343\202\271\343\202\253\343\203\273\343\203\221\343\203\255\343\203\273\343\202\246\343\203\253\343\203\273\343\203\251\343\203\224\343\203\245\343\202\277"
expected = 'http%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%E3%83%AD%E3%83%A0%E3%82%B9%E3%82%AB%E3%83%BB%E3%83%91%E3%83%AD%E3%83%BB%E3%82%A6%E3%83%AB%E3%83%BB%E3%83%A9%E3%83%94%E3%83%A5%E3%82%BF'