rack-devel archive mirror (unofficial) https://groups.google.com/group/rack-devel
 help / color / mirror / code / Atom feed
* [PATCH] make Rack::Session::Cookie spec pass under 1.9.2dev
@ 2009-12-31  1:37 Eric Wong
  2009-12-31 10:15 ` Christian Neukirchen
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2009-12-31  1:37 UTC (permalink / raw)
  To: rack-devel

There appears to be a small change to the Marshal output
under 1.9.2dev that makes it output differently than
under 1.9.1.  Tested with Ruby trunk r26127.
---
  Otoh, I feel this test is so fragile that it's probably best to
  scrap it and rely on the round-trip tests...

  Pushed out to the "mri-1.9.2dev" branch of git://git.bogomips.org/rack
  http://git.bogomips.org/cgit/rack.git/commit/?h=mri-1.9.2dev

 test/spec_rack_session_cookie.rb |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/test/spec_rack_session_cookie.rb b/test/spec_rack_session_cookie.rb
index 3be88b4..9b646f0 100644
--- a/test/spec_rack_session_cookie.rb
+++ b/test/spec_rack_session_cookie.rb
@@ -49,7 +49,10 @@ context "Rack::Session::Cookie" do
   
   specify "creates a new cookie with integrity hash" do
     res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor, :secret => 'test')).get("/")
-    if RUBY_VERSION < "1.9"
+    case RUBY_VERSION
+    when "1.9.2"
+      res["Set-Cookie"].should.match("rack.session=BAh7BkkiDGNvdW50ZXIGOgZFRmkG%0A--2548b2a97e67656c3457b9a5cb43b65a83715cbc")
+    when "1.9.1"
       res["Set-Cookie"].should.match("rack.session=BAh7BiIMY291bnRlcmkG%0A--1439b4d37b9d4b04c603848382f712d6fcd31088")
     else
       res["Set-Cookie"].should.match("rack.session=BAh7BkkiDGNvdW50ZXIGOg1lbmNvZGluZyINVVMtQVNDSUlpBg%3D%3D%0A--d7a6637b94d2728194a96c18484e1f7ed9074a83")
-- 
Eric Wong

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] make Rack::Session::Cookie spec pass under 1.9.2dev
  2009-12-31  1:37 [PATCH] make Rack::Session::Cookie spec pass under 1.9.2dev Eric Wong
@ 2009-12-31 10:15 ` Christian Neukirchen
  2009-12-31 20:19   ` [PATCH] make Rack::Session::Cookie spec immune to Marshal changes Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Christian Neukirchen @ 2009-12-31 10:15 UTC (permalink / raw)
  To: rack-devel

On Thu, Dec 31, 2009 at 2:37 AM, Eric Wong <normalperson@yhbt.net> wrote:
>  Otoh, I feel this test is so fragile that it's probably best to
>  scrap it and rely on the round-trip tests...

+1

-- 
Christian Neukirchen  <chneukirchen@gmail.com>  http://chneukirchen.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] make Rack::Session::Cookie spec immune to Marshal changes
  2009-12-31 10:15 ` Christian Neukirchen
@ 2009-12-31 20:19   ` Eric Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2009-12-31 20:19 UTC (permalink / raw)
  To: rack-devel

Various versions/implementations of Ruby may Marshal data
differently.  Instead of relying on a fragile test that
relies on exact byte sequence matches, just rely on existing
round-trip tests for the cookies.
---
  Christian Neukirchen <chneukirchen@gmail.com> wrote:
  > On Thu, Dec 31, 2009 at 2:37 AM, Eric Wong <normalperson@yhbt.net> wrote:
  > >  Otoh, I feel this test is so fragile that it's probably best to
  > >  scrap it and rely on the round-trip tests...
  > 
  > +1

  This patch squashes the previous one in this thread.

  Pushed out to the "mri-1.9.2dev" branch of git://git.bogomips.org/rack
  http://git.bogomips.org/cgit/rack.git/commit/?h=mri-1.9.2dev

 test/spec_rack_session_cookie.rb |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/test/spec_rack_session_cookie.rb b/test/spec_rack_session_cookie.rb
index 3be88b4..a164789 100644
--- a/test/spec_rack_session_cookie.rb
+++ b/test/spec_rack_session_cookie.rb
@@ -49,11 +49,7 @@ context "Rack::Session::Cookie" do
   
   specify "creates a new cookie with integrity hash" do
     res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor, :secret => 'test')).get("/")
-    if RUBY_VERSION < "1.9"
-      res["Set-Cookie"].should.match("rack.session=BAh7BiIMY291bnRlcmkG%0A--1439b4d37b9d4b04c603848382f712d6fcd31088")
-    else
-      res["Set-Cookie"].should.match("rack.session=BAh7BkkiDGNvdW50ZXIGOg1lbmNvZGluZyINVVMtQVNDSUlpBg%3D%3D%0A--d7a6637b94d2728194a96c18484e1f7ed9074a83")
-    end
+    res["Set-Cookie"].should.match("rack.session=")
   end
   
   specify "loads from a cookie wih integrity hash" do
-- 
Eric Wong

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-31 20:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-31  1:37 [PATCH] make Rack::Session::Cookie spec pass under 1.9.2dev Eric Wong
2009-12-31 10:15 ` Christian Neukirchen
2009-12-31 20:19   ` [PATCH] make Rack::Session::Cookie spec immune to Marshal changes Eric Wong

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/rack.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).