Sha256: a99f7a99302bb113558452cd1dd34b13d642b84ca477e76044e4c9c705d8407e

Contents?: true

Size: 1.29 KB

Versions: 34

Compression:

Stored size: 1.29 KB

Contents

require "spec_helper"

FastGettext.silence_errors

describe ActionController::Base do
  def reset!
    fake_session = {}
    @c.stub!(:session).and_return fake_session
    fake_cookies = {}
    @c.stub!(:cookies).and_return fake_cookies
    @c.params = {}
    @c.request = stub(:env => {})
  end

  before do
    #controller
    @c = ActionController::Base.new
    reset!

    #locale
    FastGettext.available_locales = nil
    FastGettext.locale = I18n.default_locale = 'fr'
    FastGettext.available_locales = ['fr','en']
  end

  it "changes the locale" do
    @c.params = {:locale=>'en'}
    @c.set_gettext_locale
    @c.session[:locale].should == 'en'
    FastGettext.locale.should == 'en'
  end

  it "stays with default locale when none was found" do
    @c.set_gettext_locale
    @c.session[:locale].should == 'fr'
    FastGettext.locale.should == 'fr'
  end

  it "locale isn't cached over request" do
    @c.params = {:locale=>'en'}
    @c.set_gettext_locale
    @c.session[:locale].should == 'en'

    reset!
    @c.set_gettext_locale
    @c.session[:locale].should == 'fr'
  end

  it "reads the locale from the HTTP_ACCEPT_LANGUAGE" do
    @c.request.stub!(:env).and_return 'HTTP_ACCEPT_LANGUAGE'=>'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3'
    @c.set_gettext_locale
    FastGettext.locale.should == 'en'
  end
end

Version data entries

34 entries across 34 versions & 2 rubygems

Version Path
gettext_i18n_rails-0.10.0 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.9.4 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.9.3 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.9.2 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.9.1 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.9.0 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.8.0 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.7.2 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.7.1 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.7.0 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.6 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.5 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.4 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.3 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.2 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.6.1 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.5.4 spec/gettext_i18n_rails/action_controller_spec.rb
nulogy-gettext_i18n_rails-0.5.3.2 spec/gettext_i18n_rails/action_controller_spec.rb
nulogy-gettext_i18n_rails-0.5.3.1 spec/gettext_i18n_rails/action_controller_spec.rb
gettext_i18n_rails-0.5.3 spec/gettext_i18n_rails/action_controller_spec.rb