[前][次][番号順一覧][スレッド一覧]

ruby-changes:46659

From: k0kubun <ko1@a...>
Date: Wed, 17 May 2017 23:11:08 +0900 (JST)
Subject: [ruby-changes:46659] k0kubun:r58775 (trunk): spec/rubyspec: Add `ruby_version_is` guard

k0kubun	2017-05-17 23:11:01 +0900 (Wed, 17 May 2017)

  New Revision: 58775

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=58775

  Log:
    spec/rubyspec: Add `ruby_version_is` guard
    
    for future backport to ruby/spec repository.
    
    See r58772 r58773 r58774.

  Modified files:
    trunk/spec/rubyspec/library/cgi/escape_spec.rb
    trunk/spec/rubyspec/library/erb/util/shared/url_encode.rb
Index: spec/rubyspec/library/cgi/escape_spec.rb
===================================================================
--- spec/rubyspec/library/cgi/escape_spec.rb	(revision 58774)
+++ spec/rubyspec/library/cgi/escape_spec.rb	(revision 58775)
@@ -3,12 +3,24 @@ require 'cgi' https://github.com/ruby/ruby/blob/trunk/spec/rubyspec/library/cgi/escape_spec.rb#L3
 
 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
Index: spec/rubyspec/library/erb/util/shared/url_encode.rb
===================================================================
--- spec/rubyspec/library/erb/util/shared/url_encode.rb	(revision 58774)
+++ spec/rubyspec/library/erb/util/shared/url_encode.rb	(revision 58775)
@@ -1,11 +1,23 @@ https://github.com/ruby/ruby/blob/trunk/spec/rubyspec/library/erb/util/shared/url_encode.rb#L1
 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'

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]