test/test_http_cookie.rb in http-cookie-1.0.0.pre3 vs test/test_http_cookie.rb in http-cookie-1.0.0.pre4

- old
+ new

@@ -198,22 +198,22 @@ cookie = HTTP::Cookie.parse("name=Akinori; expires=#{date}", :origin => url).first assert_equal Time.at(epoch), cookie.expires cookie = HTTP::Cookie.parse('name=Akinori; max-age=3600', :origin => url).first assert_in_delta Time.now + 3600, cookie.expires, 1 - cookie = HTTP::Cookie.parse('name=Akinori; max-age=3600', :origin => url, :date => base).first + cookie = HTTP::Cookie.parse('name=Akinori; max-age=3600', :origin => url, :created_at => base).first assert_equal base + 3600, cookie.expires # Max-Age has precedence over Expires cookie = HTTP::Cookie.parse("name=Akinori; max-age=3600; expires=#{date}", :origin => url).first assert_in_delta Time.now + 3600, cookie.expires, 1 - cookie = HTTP::Cookie.parse("name=Akinori; max-age=3600; expires=#{date}", :origin => url, :date => base).first + cookie = HTTP::Cookie.parse("name=Akinori; max-age=3600; expires=#{date}", :origin => url, :created_at => base).first assert_equal base + 3600, cookie.expires cookie = HTTP::Cookie.parse("name=Akinori; expires=#{date}; max-age=3600", :origin => url).first assert_in_delta Time.now + 3600, cookie.expires, 1 - cookie = HTTP::Cookie.parse("name=Akinori; expires=#{date}; max-age=3600", :origin => url, :date => base).first + cookie = HTTP::Cookie.parse("name=Akinori; expires=#{date}; max-age=3600", :origin => url, :created_at => base).first assert_equal base + 3600, cookie.expires end def test_parse_expires_session url = URI.parse('http://localhost/') @@ -380,12 +380,12 @@ ['foo=bar', 'foo="bar"', 'foo="ba\"r baz"'].each { |cookie_value| cookie_params = @cookie_params.merge('secure' => 'secure', 'max-age' => 'Max-Age=1000') date = Time.at(Time.now.to_i) cookie_params.keys.combine.each do |keys| cookie_text = [cookie_value, *keys.map { |key| cookie_params[key] }].join('; ') - cookie, = HTTP::Cookie.parse(cookie_text, :origin => url, :date => date) - cookie2, = HTTP::Cookie.parse(cookie.set_cookie_value, :origin => url, :date => date) + cookie, = HTTP::Cookie.parse(cookie_text, :origin => url, :created_at => date) + cookie2, = HTTP::Cookie.parse(cookie.set_cookie_value, :origin => url, :created_at => date) assert_equal(cookie.name, cookie2.name) assert_equal(cookie.value, cookie2.value) assert_equal(cookie.domain, cookie2.domain) assert_equal(cookie.for_domain?, cookie2.for_domain?) @@ -537,11 +537,11 @@ assert_equal false, cookie.session? assert_equal nil, cookie.max_age cookie.max_age = 3600 assert_equal false, cookie.session? - assert_equal nil, cookie.expires + assert_equal cookie.created_at + 3600, cookie.expires cookie.max_age = nil assert_equal true, cookie.session? assert_equal nil, cookie.expires end @@ -771,9 +771,41 @@ assert_equal expected, cookie.valid_for_uri?(url), '%s: %s' % [cookie.name, url] assert_equal expected, cookie.valid_for_uri?(URI(url)), "%s: URI(%s)" % [cookie.name, url] } } } + end + + def test_yaml_expires + require 'yaml' + cookie = HTTP::Cookie.new(cookie_values) + + assert_equal false, cookie.session? + assert_equal nil, cookie.max_age + + ycookie = YAML.load(cookie.to_yaml) + assert_equal false, ycookie.session? + assert_equal nil, ycookie.max_age + + cookie.expires = nil + ycookie = YAML.load(cookie.to_yaml) + assert_equal true, ycookie.session? + assert_equal nil, ycookie.max_age + + cookie.expires = Time.now + 3600 + ycookie = YAML.load(cookie.to_yaml) + assert_equal false, ycookie.session? + assert_equal nil, ycookie.max_age + + cookie.max_age = 3600 + ycookie = YAML.load(cookie.to_yaml) + assert_equal false, ycookie.session? + assert_equal cookie.created_at + 3600, ycookie.expires + + cookie.max_age = nil + ycookie = YAML.load(cookie.to_yaml) + assert_equal true, ycookie.session? + assert_equal nil, ycookie.expires end def test_s_path_match? assert_equal true, HTTP::Cookie.path_match?('/admin/', '/admin/index') assert_equal false, HTTP::Cookie.path_match?('/admin/', '/Admin/index')