diff options
Diffstat (limited to 'spec/ruby/library/cgi/cookie/secure_spec.rb')
| -rw-r--r-- | spec/ruby/library/cgi/cookie/secure_spec.rb | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/spec/ruby/library/cgi/cookie/secure_spec.rb b/spec/ruby/library/cgi/cookie/secure_spec.rb new file mode 100644 index 0000000000..233881b173 --- /dev/null +++ b/spec/ruby/library/cgi/cookie/secure_spec.rb @@ -0,0 +1,73 @@ +require_relative '../../../spec_helper' + +ruby_version_is ""..."4.0" do + require 'cgi' + + describe "CGI::Cookie#secure" do + before :each do + @cookie = CGI::Cookie.new("test-cookie") + end + + it "returns whether self is a secure cookie or not" do + @cookie.secure = true + @cookie.secure.should == true + + @cookie.secure = false + @cookie.secure.should == false + end + end + + describe "CGI::Cookie#secure= when passed true" do + before :each do + @cookie = CGI::Cookie.new("test-cookie") + end + + it "returns true" do + (@cookie.secure = true).should == true + end + + it "sets self to a secure cookie" do + @cookie.secure = true + @cookie.secure.should == true + end + end + + describe "CGI::Cookie#secure= when passed false" do + before :each do + @cookie = CGI::Cookie.new("test-cookie") + end + + it "returns false" do + (@cookie.secure = false).should == false + end + + it "sets self to a non-secure cookie" do + @cookie.secure = false + @cookie.secure.should == false + end + end + + describe "CGI::Cookie#secure= when passed Object" do + before :each do + @cookie = CGI::Cookie.new("test-cookie") + end + + it "does not change self's secure value" do + @cookie.secure = false + + @cookie.secure = Object.new + @cookie.secure.should == false + + @cookie.secure = "Test" + @cookie.secure.should == false + + @cookie.secure = true + + @cookie.secure = Object.new + @cookie.secure.should == true + + @cookie.secure = "Test" + @cookie.secure.should == true + end + end +end |
