diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2022-04-27 14:50:44 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 19:50:44 -0700 |
commit | 504f1d56e60613d3d43c4271ebab8fff2d35a157 (patch) | |
tree | 65c44787e7503fedd9bcc400b3012e0f721d9b74 /test/spec_utils.rb | |
parent | 11b4ac5237b25ba773ca519cc4e508c9008bed65 (diff) | |
download | rack-504f1d56e60613d3d43c4271ebab8fff2d35a157.tar.gz |
Don't overwrite other cookie attributes when building deletion cookie. (#1846)
Diffstat (limited to 'test/spec_utils.rb')
-rw-r--r-- | test/spec_utils.rb | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/test/spec_utils.rb b/test/spec_utils.rb index 3f50be7a..286f2eb1 100644 --- a/test/spec_utils.rb +++ b/test/spec_utils.rb @@ -648,9 +648,33 @@ describe Rack::Utils, "cookies" do header = [] Rack::Utils.delete_set_cookie_header!(header, 'name2') - header.must_equal ["name2=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"] + header.must_equal [ + "name2=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT" + ] + Rack::Utils.delete_set_cookie_header!(header, 'name') - header.must_equal ["name2=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT", "name=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"] + header.must_equal [ + "name2=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT", + "name=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT" + ] + end + + it "deletes cookies in header field with domain" do + header = [] + + Rack::Utils.delete_set_cookie_header!(header, 'name', {domain: "mydomain.com"}) + header.must_equal [ + "name=; domain=mydomain.com; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT" + ] + end + + it "deletes cookies in header field with path" do + header = [] + + Rack::Utils.delete_set_cookie_header!(header, 'name', {path: "/a/b"}) + header.must_equal [ + "name=; path=/a/b; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT" + ] end it "sets and deletes cookies in header hash" do |