mirror of
https://github.com/fluent/fluentd-ui.git
synced 2025-08-11 16:57:11 +02:00
87 lines
2.1 KiB
Ruby
87 lines
2.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
class DummyController < ApplicationController; end
|
|
|
|
describe DummyController do
|
|
controller DummyController do
|
|
skip_before_action :login_required
|
|
def index
|
|
render :text => "Hello World"
|
|
end
|
|
end
|
|
|
|
describe '#set_locale' do
|
|
let!(:default_locale) { :en }
|
|
before do
|
|
I18n.stub(:default_locale).and_return(default_locale)
|
|
I18n.stub(:available_locales).and_return([:en, :ja])
|
|
|
|
I18n.locale = I18n.default_locale #initialize
|
|
end
|
|
|
|
context 'with params[:lang]' do
|
|
before do
|
|
get 'index', lang: param_lang
|
|
end
|
|
|
|
context 'and in available_locales' do
|
|
let(:param_lang) { :ja }
|
|
|
|
it 'params[:lang] will be set as locale' do
|
|
expect(I18n.locale).to eq :ja
|
|
end
|
|
end
|
|
|
|
context 'and out of available_locales' do
|
|
let(:param_lang) { :ka }
|
|
|
|
it 'defalut locale will be set as locale' do
|
|
expect(I18n.locale).to eq default_locale
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'with session[:prefer_lang]' do
|
|
before do
|
|
controller.session[:prefer_lang] = :ja
|
|
end
|
|
|
|
it 'session[:prefer_lang] will be set as locale' do
|
|
get 'index'
|
|
expect(I18n.locale).to eq :ja
|
|
end
|
|
end
|
|
|
|
context 'with request.env["HTTP_ACCEPT_LANGUAGE"]' do
|
|
before do
|
|
request.stub(:env).and_return({ "HTTP_ACCEPT_LANGUAGE" => accept_language })
|
|
get 'index'
|
|
end
|
|
|
|
context 'accept_language is available' do
|
|
let(:accept_language) { 'ja' }
|
|
|
|
it 'session[:prefer_lang] will be set as locale' do
|
|
expect(I18n.locale).to eq :ja
|
|
end
|
|
end
|
|
|
|
context 'accept_language is not available but start with en' do
|
|
let(:accept_language) { 'en-us' }
|
|
|
|
it ':en will be set as locale' do
|
|
expect(I18n.locale).to eq :en
|
|
end
|
|
end
|
|
|
|
context 'accept_language is not available' do
|
|
let(:accept_language) { 'ka' }
|
|
|
|
it 'default_locale will be set as locale' do
|
|
expect(I18n.locale).to eq default_locale
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|