On Nov 11, 1:07 pm, "George Moschovitis"
<george.moschovi... at gmail.com> wrote:
> I have added all the debugging aids. This bug is random and I still cannot
> understand why it happens.
> the offending code is:
>> lib/raw/context/session/cookie.rb
Add this to the end of that file:
if __FILE__ == $0
BEGIN {
require "facets"
require "facets/random"
require "cgi"
require "raw/context/session"
require "raw/controller/cookie"
}
require "test/unit"
class TestCookie < Test::Unit::TestCase
class MockContext
def initialize
@cookies = {}
@data = {}
end
def cookies
@data
end
def add_cookie(cookie)
@cookies[cookie.name] = cookie
@data[cookie.name] = cookie.value
end
end
def setup
@cookie_store = Raw::CookieSessionStore.new
end
def test_simple
context = MockContext.new
input = "RABBIT DATA"
@cookie_store.put(input, context)
output = @cookie_store.get(context)
assert_equal(input, output)
end
context = MockContext.new
maxsize = 1000
1000.times do |i|
input = String.random((rand * maxsize).to_i, /[\w\W]/)
define_method("test_#{i}") do
@cookie_store.put(input, context)
output = @cookie_store.get(context)
assert_equal(input, output)
end
end
end
end
I ran it a few times now and it's working fine. So that should narrow
the possibilities.
My guess as the moment is Bill's #1. The cookies must be changing
somehow when it moves through the browser.
Perhaps you are not the only one using the cookie name?
Also, going the encryption route won't buy you anything if you still
plan to have the JSON formatted data available to the browser.
T.