Created
August 3, 2008 05:23
-
-
Save michaelklishin/3797 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Pending: | |
Merb::Controller#set_cookie respects cookie domain set in Merb::Config (hey, take care of me) | |
Merb::Controller#set_cookie overrides configured cookie domain with explicitly passed option (Not Yet Implemented) | |
Merb::Controller#set_cookie respects controller wide session cookie domain (Not Yet Implemented) | |
1) | |
'Merb::Controller._session_cookie_domain is set to Merb::Config[:session_cookie_domain] by default' FAILED | |
expected: "specs.merbivore.com", | |
got: nil (using ==) | |
/Users/antares/dev/opensource/merb/merb-core/spec/public/controller/cookies_spec.rb:9: | |
2) | |
'Merb::Controller._session_cookie_domain is inherited by subclasses unless overriden' FAILED | |
expected: "specs.merbivore.com", | |
got: nil (using ==) | |
/Users/antares/dev/opensource/merb/merb-core/spec/public/controller/cookies_spec.rb:18: | |
Finished in 0.108458 seconds | |
105 examples, 2 failures, 3 pending |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Merb::Test::Fixtures::Controllers | |
class Testing < Merb::Controller | |
self._template_root = File.dirname(__FILE__) / "views" | |
end | |
class CookiesController < Testing | |
def sets_cookie | |
"sets_cookie" | |
end | |
def sets_cookie_explicitly | |
"sets_cookie_explicitly" | |
end | |
def deletes_cookie | |
"deletes_cookie" | |
end | |
def deletes_cookie_explicitly | |
"deletes_cookie_explicitly" | |
end | |
end | |
class SubclassOfCookiesController < CookiesController | |
end | |
class OverridingSubclassOfCookiesController < CookiesController | |
self._session_cookie_domain = "subclassed.merbivore.com" | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Merb::Controller < Merb::AbstractController | |
class_inheritable_accessor :_hidden_actions, :_shown_actions | |
self._hidden_actions ||= [] | |
self._shown_actions ||= [] | |
class_inheritable_accessor :_subclasses, :_session_id_key, :_session_secret_key, :_session_expiry, :_session_cookie_domain | |
self._subclasses = Set.new | |
def self.subclasses_list() _subclasses end | |
self._session_secret_key = nil | |
self._session_id_key = Merb::Config[:session_id_key] || '_session_id' | |
self._session_expiry = Merb::Config[:session_expiry] || Merb::Const::WEEK * 2 | |
self._session_cookie_domain = Merb::Config[:session_cookie_domain] | |
include Merb::ResponderMixin | |
include Merb::ControllerMixin | |
include Merb::AuthenticationMixin | |
attr_accessor :route | |
class << self | |
# ==== Parameters | |
# klass<Merb::Controller>:: | |
# The Merb::Controller inheriting from the base class. | |
def inherited(klass) | |
_subclasses << klass.to_s | |
super | |
klass._template_root = Merb.dir_for(:view) unless self._template_root | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require File.join(File.dirname(__FILE__), "spec_helper") | |
describe Merb::Controller, "._session_cookie_domain" do | |
before(:each) do | |
Merb::Config[:session_cookie_domain] = "specs.merbivore.com" | |
end | |
it 'is set to Merb::Config[:session_cookie_domain] by default' do | |
Merb::Controller._session_cookie_domain.should == "specs.merbivore.com" | |
Merb::Test::Fixtures::Controllers::CookiesController._session_cookie_domain.should == "specs.merbivore.com" | |
end | |
it "can be overriden for particular controller" do | |
Merb::Test::Fixtures::Controllers::OverridingSubclassOfCookiesController._session_cookie_domain.should == "subclassed.merbivore.com" | |
end | |
it 'is inherited by subclasses unless overriden' do | |
Merb::Test::Fixtures::Controllers::SubclassOfCookiesController._session_cookie_domain.should == "specs.merbivore.com" | |
end | |
end | |
describe Merb::Controller, "#set_cookie" do | |
before(:each) do | |
Merb::Config[:session_cookie_domain] = "specs.merbivore.com" | |
end | |
it 'respects cookie domain set in Merb::Config' do | |
pending "hey, take care of me" | |
controller = dispatch_to(CookiesController, :sets_cookie) | |
end | |
it 'overrides configured cookie domain with explicitly passed option' | |
it "respects controller wide session cookie domain" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment