rails_locale_detection 1.3.2 → 2.0.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,23 @@
1
+ module RailsLocaleDetection
2
+ module LocaleAccessors
3
+ def alternate_locales
4
+ available_locales - [current_locale]
5
+ end
6
+
7
+ def available_locales
8
+ I18n.available_locales
9
+ end
10
+
11
+ def current_locale
12
+ I18n.locale
13
+ end
14
+
15
+ def current_locale=(locale)
16
+ I18n.locale = locale
17
+ end
18
+
19
+ def default_locale
20
+ I18n.default_locale
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ module RailsLocaleDetection
2
+ class LocaleDetector
3
+ include DetectionMethods
4
+ include LocaleAccessors
5
+
6
+ attr_reader :controller
7
+
8
+ delegate :cookies, :params, :request, :default_url_options, :user_locale, :to => :controller
9
+
10
+ def initialize(controller = nil)
11
+ @controller = controller
12
+ end
13
+
14
+ def locale_key
15
+ RailsLocaleDetection.locale_key
16
+ end
17
+
18
+ def self.before(controller)
19
+ new(controller).set_locale
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ module RailsLocaleDetection
2
+ class Railtie < Rails::Railtie
3
+ initializer "rails_locale_detection.append_before_filter" do
4
+ ActiveSupport.on_load(:action_controller) do
5
+ ActionController::Base.send :include, RailsLocaleDetection::ControllerMethods
6
+ end
7
+
8
+ ActiveSupport.on_load(:action_view) do
9
+ ActionView::Base.send :include, Rails::LocaleDetection::LocaleAccessors
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module RailsLocaleDetection
2
+ VERSION = "2.0.0.pre2"
3
+ end
@@ -1,74 +1,29 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rails_locale_detection/version'
5
5
 
6
- Gem::Specification.new do |s|
7
- s.name = "rails_locale_detection"
8
- s.version = "1.3.2"
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "rails_locale_detection"
8
+ gem.version = RailsLocaleDetection::VERSION
9
+ gem.authors = ["Mateo Murphy"]
10
+ gem.email = ["mateo.murphy@gmail.com"]
11
+ gem.description = "Sets the current locale of a request using a combination of params, cookies, and http headers"
12
+ gem.summary = "Locale setting for rails project"
13
+ gem.homepage = "https://github.com/mateomurphy/rails_locale_detection"
9
14
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Mateo Murphy"]
12
- s.date = "2013-03-19"
13
- s.description = "Sets the current locale of a request using a combination of params, cookies, and http headers"
14
- s.email = "mateo.murphy@gmail.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.md"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".rspec",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "LICENSE.txt",
25
- "README.md",
26
- "Rakefile",
27
- "VERSION",
28
- "lib/rails/locale_detection.rb",
29
- "lib/rails_locale_detection.rb",
30
- "rails_locale_detection.gemspec",
31
- "spec/rails_locale_detection_spec.rb",
32
- "spec/spec_helper.rb",
33
- "spec/support/mock.rb"
34
- ]
35
- s.homepage = "http://github.com/mateomurphy/rails_locale_detection"
36
- s.licenses = ["MIT"]
37
- s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.25"
39
- s.summary = "locale setting for rails project"
40
-
41
- if s.respond_to? :specification_version then
42
- s.specification_version = 3
43
-
44
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
- s.add_runtime_dependency(%q<activesupport>, ["~> 3.2.13"])
46
- s.add_runtime_dependency(%q<http_accept_language>, [">= 0"])
47
- s.add_development_dependency(%q<i18n>, [">= 0"])
48
- s.add_development_dependency(%q<timecop>, [">= 0"])
49
- s.add_development_dependency(%q<actionpack>, ["~> 3.2.13"])
50
- s.add_development_dependency(%q<rspec>, ["~> 2.12.0"])
51
- s.add_development_dependency(%q<bundler>, ["~> 1.3.4"])
52
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
53
- else
54
- s.add_dependency(%q<activesupport>, ["~> 3.2.13"])
55
- s.add_dependency(%q<http_accept_language>, [">= 0"])
56
- s.add_dependency(%q<i18n>, [">= 0"])
57
- s.add_dependency(%q<timecop>, [">= 0"])
58
- s.add_dependency(%q<actionpack>, ["~> 3.2.13"])
59
- s.add_dependency(%q<rspec>, ["~> 2.12.0"])
60
- s.add_dependency(%q<bundler>, ["~> 1.3.4"])
61
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
62
- end
63
- else
64
- s.add_dependency(%q<activesupport>, ["~> 3.2.13"])
65
- s.add_dependency(%q<http_accept_language>, [">= 0"])
66
- s.add_dependency(%q<i18n>, [">= 0"])
67
- s.add_dependency(%q<timecop>, [">= 0"])
68
- s.add_dependency(%q<actionpack>, ["~> 3.2.13"])
69
- s.add_dependency(%q<rspec>, ["~> 2.12.0"])
70
- s.add_dependency(%q<bundler>, ["~> 1.3.4"])
71
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
72
- end
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ['lib']
19
+
20
+ gem.add_dependency('rails', '>= 3.2.13')
21
+ gem.add_dependency('http_accept_language', '~> 1.0.2')
22
+
23
+ gem.add_development_dependency('i18n', '~> 0.6.1')
24
+ gem.add_development_dependency('timecop', '~> 0.6.1')
25
+ gem.add_development_dependency('rspec-rails', '~> 2.13.0')
26
+ gem.add_development_dependency('bundler', '~> 1.3.4')
27
+ gem.add_development_dependency('gem-release', '~> 0.5.3')
28
+ gem.add_development_dependency('rake', '~> 10.0.4')
73
29
  end
74
-
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe CallbackTestsController do
4
+
5
+ it "should automatically include the callback" do
6
+ subject.class.ancestors.should include(RailsLocaleDetection::ControllerMethods)
7
+ end
8
+
9
+ it "should correctly detect the user locale" do
10
+ get :show
11
+
12
+ response.body.should eq('fr')
13
+ end
14
+
15
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsLocaleDetection do
4
+ describe 'backwards compatility' do
5
+ it 'should be possible to configure using the previous module name' do
6
+ Rails::LocaleDetection.should respond_to(:config)
7
+ end
8
+ end
9
+
10
+ describe '.locale_expiry' do
11
+ it "is set to 3 months by default" do
12
+ RailsLocaleDetection.config do |c|
13
+ c.locale_expiry.should eq(3.months)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsLocaleDetection::ControllerMethods do
4
+ let(:request) { MockRequest.new }
5
+ subject(:controller) { MockController.new(request) }
6
+
7
+ it 'provides a blank user locale method' do
8
+ controller.user_locale.should be_nil
9
+ end
10
+
11
+ it 'should provide a detect locale method' do
12
+ controller.class.should respond_to(:detect_locale)
13
+ end
14
+
15
+ it 'should add a before filter' do
16
+ controller.class.before_filters.should eq([[RailsLocaleDetection::LocaleDetector]])
17
+ end
18
+
19
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ class AccessorTest
4
+ include RailsLocaleDetection::LocaleAccessors
5
+ end
6
+
7
+ describe RailsLocaleDetection::LocaleAccessors do
8
+ subject :object do
9
+ AccessorTest.new
10
+ end
11
+
12
+ describe '#alternate_locales' do
13
+ it "returns all available locales minus the current one" do
14
+ object.current_locale = :en
15
+ object.alternate_locales.should eq([:fr])
16
+ end
17
+ end
18
+
19
+ describe '#available_locales' do
20
+ it "shadows I18n.available_locales" do
21
+ object.available_locales.should eq([:en, :fr])
22
+ end
23
+ end
24
+
25
+ describe '#default_locale' do
26
+ it "shadows I18n.default locale" do
27
+ object.default_locale.should eq(:en)
28
+ end
29
+ end
30
+ end
@@ -1,331 +1,328 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require 'spec_helper'
2
2
 
3
- I18n.default_locale = :en
4
- I18n.available_locales = [:en, :fr]
5
- Timecop.freeze
6
-
7
- describe Rails::LocaleDetection do
3
+ describe RailsLocaleDetection::LocaleDetector do
8
4
  let(:request) { MockRequest.new }
9
5
  let(:controller) { MockController.new(request) }
10
-
11
- describe '.locale_expiry' do
12
- it "is set to 3 months by default" do
13
- Rails::LocaleDetection.config do |c|
14
- c.locale_expiry.should eq(3.months)
15
- end
16
- end
17
- end
18
-
6
+ subject(:locale_detector) { RailsLocaleDetection::LocaleDetector.new(controller) }
7
+
19
8
  describe '#available_locales' do
20
9
  it "shadows I18n.available_locales" do
21
- controller.available_locales.should eq([:en, :fr])
10
+ locale_detector.available_locales.should eq([:en, :fr])
22
11
  end
23
12
  end
24
-
13
+
25
14
  describe '#default_locale' do
26
15
  it "shadows I18n.default locale" do
27
- controller.default_locale.should eq(:en)
16
+ locale_detector.default_locale.should eq(:en)
17
+ end
18
+ end
19
+
20
+ describe '#current_locale' do
21
+ it "shadows I18n.locale" do
22
+ controller.params[:locale] = 'fr'
23
+ locale_detector.set_locale
24
+ controller.current_locale.should eq(:fr)
28
25
  end
29
26
  end
30
-
27
+
31
28
  describe '#validate_locale' do
32
29
  it "returns the passed locale if it's valid" do
33
- controller.validate_locale(:en).should eq(:en)
30
+ locale_detector.validate_locale(:en).should eq(:en)
34
31
  end
35
-
32
+
36
33
  it "returns nil if the passed locale isn't valid" do
37
- controller.validate_locale(:es).should be_nil
34
+ locale_detector.validate_locale(:es).should be_nil
38
35
  end
39
-
36
+
40
37
  it "returns nil if nil is passed" do
41
- controller.validate_locale(nil).should be_nil
38
+ locale_detector.validate_locale(nil).should be_nil
42
39
  end
43
40
  end
44
-
41
+
45
42
  describe '#locale_from_param' do
46
43
  it "returns en if the param set was valid" do
47
44
  controller.params[:locale] = 'en'
48
- controller.locale_from_param.should eq(:en)
45
+ locale_detector.locale_from_param.should eq(:en)
49
46
  end
50
-
47
+
51
48
  it "returns nil if the param set was not" do
52
49
  controller.params[:locale] = 'es'
53
- controller.locale_from_param.should be_nil
50
+ locale_detector.locale_from_param.should be_nil
54
51
  end
55
52
 
56
53
  it "returns nil if not locale was set" do
57
- controller.locale_from_param.should be_nil
54
+ locale_detector.locale_from_param.should be_nil
58
55
  end
59
56
  end
60
-
57
+
61
58
  describe '#locale_from_cookie' do
62
59
  it "returns en if the param set was valid" do
63
60
  controller.cookies[:locale] = 'en'
64
- controller.locale_from_cookie.should eq(:en)
61
+ locale_detector.locale_from_cookie.should eq(:en)
65
62
  end
66
-
63
+
67
64
  it "returns nil if the param set was not" do
68
65
  controller.cookies[:locale] = 'es'
69
- controller.locale_from_cookie.should be_nil
66
+ locale_detector.locale_from_cookie.should be_nil
70
67
  end
71
68
 
72
69
  it "returns nil if not locale was set" do
73
- controller.locale_from_cookie.should be_nil
70
+ locale_detector.locale_from_cookie.should be_nil
74
71
  end
75
- end
76
-
72
+ end
73
+
77
74
  describe '#locale_from_request' do
78
75
  it "returns en if the param set was valid" do
79
76
  request.env['HTTP_ACCEPT_LANGUAGE'] = 'en-us,en-gb;q=0.8,en;q=0.6'
80
- controller.locale_from_request.should eq(:en)
77
+ locale_detector.locale_from_request.should eq(:en)
81
78
  end
82
-
79
+
83
80
  it "returns nil if the param set was not" do
84
81
  request.env['HTTP_ACCEPT_LANGUAGE'] = 'es'
85
- controller.locale_from_request.should be_nil
82
+ locale_detector.locale_from_request.should be_nil
86
83
  end
87
84
 
88
85
  it "returns nil if not locale was set" do
89
- controller.locale_from_request.should be_nil
86
+ locale_detector.locale_from_request.should be_nil
90
87
  end
91
88
  end
92
-
89
+
93
90
  describe '#locale_from_user' do
94
91
  it "returns the locale of the user if it's valid" do
95
92
  controller.user = MockUser.new(:en)
96
- controller.locale_from_user.should eq(:en)
93
+ locale_detector.locale_from_user.should eq(:en)
97
94
  end
98
-
95
+
99
96
  it "returns nil if the locale of the use isn't valid" do
100
97
  controller.user = MockUser.new(:es)
101
- controller.locale_from_user.should be_nil
98
+ locale_detector.locale_from_user.should be_nil
102
99
  end
103
100
  end
104
-
101
+
105
102
  describe '#locale_from' do
106
- before :all do
107
- controller.params[:locale] = 'en'
103
+ before :each do
104
+ controller.params[:locale] = 'en'
108
105
  controller.cookies[:locale] = 'fr'
109
106
  end
110
-
107
+
111
108
  it "returns the locale set in the param" do
112
- controller.locale_from(:param).should eq(:en)
109
+ locale_detector.locale_from(:param).should eq(:en)
113
110
  end
114
-
111
+
115
112
  it "return the locale set in the cookie" do
116
- controller.locale_from(:cookie).should eq(:fr)
113
+ locale_detector.locale_from(:cookie).should eq(:fr)
117
114
  end
118
115
  end
119
-
120
- describe '#get_locale' do
116
+
117
+ describe '#detect_locale' do
121
118
  context "with default detection order" do
122
- before :all do
123
- Rails::LocaleDetection.detection_order = [:user, :param, :cookie, :request]
124
- end
125
-
119
+ before :each do
120
+ RailsLocaleDetection.detection_order = [:user, :param, :cookie, :request]
121
+ end
122
+
126
123
  it "returns default if nothing is set" do
127
- controller.get_locale.should eq(:en)
124
+ locale_detector.detect_locale.should eq(:en)
128
125
  end
129
126
 
130
127
  it "returns en if the params is set to en" do
131
128
  controller.params[:locale] = "en"
132
- controller.get_locale.should eq(:en)
129
+ locale_detector.detect_locale.should eq(:en)
133
130
  end
134
131
 
135
132
  it "returns fr if the cookie is set to fr" do
136
133
  controller.cookies[:locale] = "fr"
137
- controller.get_locale.should eq(:fr)
134
+ locale_detector.detect_locale.should eq(:fr)
138
135
  end
139
136
 
140
137
  it "returns en if the request is set to en" do
141
138
  request.env['HTTP_ACCEPT_LANGUAGE'] = 'en-us,en-gb;q=0.8,en;q=0.6'
142
- controller.get_locale.should eq(:en)
139
+ locale_detector.detect_locale.should eq(:en)
143
140
  end
144
-
141
+
145
142
  it "return fr if the user locale was set to fr" do
146
143
  controller.user = MockUser.new(:en)
147
- controller.get_locale.should eq(:en)
144
+ locale_detector.detect_locale.should eq(:en)
148
145
  end
149
-
146
+
150
147
  end
151
-
148
+
152
149
  context "with a custom detection order" do
153
- before :all do
154
- Rails::LocaleDetection.detection_order = [:user, :param, :request]
150
+ before :each do
151
+ RailsLocaleDetection.detection_order = [:user, :param, :request]
155
152
  end
156
-
153
+
157
154
  it "returns return default if nothing is set" do
158
- controller.get_locale.should eq(:en)
155
+ locale_detector.detect_locale.should eq(:en)
159
156
  end
160
157
 
161
158
  it "returns en if the params is set to en" do
162
159
  controller.params[:locale] = "en"
163
- controller.get_locale.should eq(:en)
160
+ locale_detector.detect_locale.should eq(:en)
164
161
  end
165
162
 
166
163
  it "skips cookie" do
167
164
  controller.cookies[:locale] = "fr"
168
- controller.get_locale.should eq(:en)
165
+ locale_detector.detect_locale.should eq(:en)
169
166
  end
170
167
 
171
168
  it "returns en if the request is set to en" do
172
169
  request.env['HTTP_ACCEPT_LANGUAGE'] = 'en-us,en-gb;q=0.8,en;q=0.6'
173
- controller.get_locale.should eq(:en)
174
- end
175
-
170
+ locale_detector.detect_locale.should eq(:en)
171
+ end
172
+
176
173
  end
177
-
174
+
178
175
  end
179
176
 
180
177
  describe '#set_default_url_option_for_request?' do
181
178
  context 'with a locale param' do
182
- before :all do
183
- controller.params[:locale] = "fr"
179
+ before :each do
180
+ controller.params[:locale] = "fr"
184
181
  end
185
-
182
+
186
183
  it 'return true when set_default_url_option is true' do
187
- Rails::LocaleDetection.set_default_url_option = true
188
- controller.should be_set_default_url_option_for_request
184
+ RailsLocaleDetection.set_default_url_option = true
185
+ locale_detector.should be_set_default_url_option_for_request
189
186
  end
190
-
187
+
191
188
  it 'return false when set_default_url_option is fale' do
192
- Rails::LocaleDetection.set_default_url_option = false
193
- controller.should_not be_set_default_url_option_for_request
189
+ RailsLocaleDetection.set_default_url_option = false
190
+ locale_detector.should_not be_set_default_url_option_for_request
194
191
  end
195
-
192
+
196
193
  it 'return false when set_default_url_option is :never' do
197
- Rails::LocaleDetection.set_default_url_option = :never
198
- controller.should_not be_set_default_url_option_for_request
194
+ RailsLocaleDetection.set_default_url_option = :never
195
+ locale_detector.should_not be_set_default_url_option_for_request
199
196
  end
200
-
197
+
201
198
  it 'return true when set_default_url_option is :always' do
202
- Rails::LocaleDetection.set_default_url_option = :always
203
- controller.should be_set_default_url_option_for_request
199
+ RailsLocaleDetection.set_default_url_option = :always
200
+ locale_detector.should be_set_default_url_option_for_request
204
201
  end
205
-
202
+
206
203
  it 'return true when set_default_url_option is :explicitly' do
207
- Rails::LocaleDetection.set_default_url_option = :explicitly
208
- controller.should be_set_default_url_option_for_request
209
- end
204
+ RailsLocaleDetection.set_default_url_option = :explicitly
205
+ locale_detector.should be_set_default_url_option_for_request
206
+ end
210
207
  end
211
-
208
+
212
209
  context 'without a locale param' do
213
- before :all do
210
+ before :each do
214
211
  controller.params[:locale] = nil
215
- end
216
-
212
+ end
213
+
217
214
  it 'return true when set_default_url_option is true' do
218
- Rails::LocaleDetection.set_default_url_option = true
219
- controller.should be_set_default_url_option_for_request
215
+ RailsLocaleDetection.set_default_url_option = true
216
+ locale_detector.should be_set_default_url_option_for_request
220
217
  end
221
-
218
+
222
219
  it 'return false when set_default_url_option is false' do
223
- Rails::LocaleDetection.set_default_url_option = false
224
- controller.should_not be_set_default_url_option_for_request
220
+ RailsLocaleDetection.set_default_url_option = false
221
+ locale_detector.should_not be_set_default_url_option_for_request
225
222
  end
226
-
223
+
227
224
  it 'return false when set_default_url_option is :never' do
228
- Rails::LocaleDetection.set_default_url_option = :never
229
- controller.should_not be_set_default_url_option_for_request
225
+ RailsLocaleDetection.set_default_url_option = :never
226
+ locale_detector.should_not be_set_default_url_option_for_request
230
227
  end
231
-
228
+
232
229
  it 'return true when set_default_url_option is :always' do
233
- Rails::LocaleDetection.set_default_url_option = :always
234
- controller.should be_set_default_url_option_for_request
230
+ RailsLocaleDetection.set_default_url_option = :always
231
+ locale_detector.should be_set_default_url_option_for_request
235
232
  end
236
-
233
+
237
234
  it 'return false when set_default_url_option is :explicitly' do
238
- Rails::LocaleDetection.set_default_url_option = :explicitly
239
- controller.should_not be_set_default_url_option_for_request
240
- end
235
+ RailsLocaleDetection.set_default_url_option = :explicitly
236
+ locale_detector.should_not be_set_default_url_option_for_request
237
+ end
241
238
  end
242
-
239
+
243
240
  end
244
241
 
245
242
  describe '#set_locale' do
246
243
  context "with set default_url_option :always" do
247
- before :all do
248
- Rails::LocaleDetection.set_default_url_option = :always
244
+ before :each do
245
+ RailsLocaleDetection.set_default_url_option = :always
249
246
  controller.params[:locale] = "fr"
250
- controller.set_locale
247
+ locale_detector.set_locale
251
248
  end
252
-
249
+
253
250
  it "sets the current locale to the locale param" do
254
251
  I18n.locale.should eq(:fr)
255
252
  end
256
-
253
+
257
254
  it "sets the language" do
258
255
  controller.cookies[:locale].should eq(:fr)
259
256
  end
260
-
257
+
261
258
  it "sets the default_url_options" do
262
259
  controller.default_url_options[:locale].to_s.should eq('fr')
263
260
  end
264
261
  end
265
-
262
+
266
263
  context "with set default_url_option :never" do
267
- before :all do
268
- Rails::LocaleDetection.set_default_url_option = :never
264
+ before :each do
265
+ RailsLocaleDetection.set_default_url_option = :never
269
266
  controller.default_url_options = {}
270
267
  controller.params[:locale] = "fr"
271
- controller.set_locale
268
+ locale_detector.set_locale
272
269
  end
273
-
270
+
274
271
  it "sets the current locale to the locale param" do
275
272
  I18n.locale.should eq(:fr)
276
273
  end
277
-
274
+
278
275
  it "sets the cookier locale" do
279
276
  controller.cookies[:locale].should eq(:fr)
280
277
  end
281
-
278
+
282
279
  it "doesn't set the default_url_options" do
283
280
  controller.default_url_options[:locale].should be_nil
284
281
  end
285
- end
286
-
282
+ end
283
+
287
284
  context "with set default_url_option :explicit and no locale param" do
288
- before :all do
289
- Rails::LocaleDetection.set_default_url_option = :explicitly
285
+ before :each do
286
+ RailsLocaleDetection.set_default_url_option = :explicitly
290
287
  controller.default_url_options = {}
291
288
  controller.params[:locale] = nil
292
- controller.set_locale
289
+ locale_detector.set_locale
293
290
  end
294
-
291
+
295
292
  it "sets the current locale to the default param" do
296
293
  I18n.locale.should eq(:en)
297
294
  end
298
-
295
+
299
296
  it "sets the cookie locale" do
300
297
  controller.cookies[:locale].should eq(:en)
301
298
  end
302
-
299
+
303
300
  it "doesn't set the default_url_options" do
304
301
  controller.default_url_options[:locale].should be_nil
305
302
  end
306
- end
307
-
303
+ end
304
+
308
305
  context "with set default_url_option :explicit and a locale param" do
309
- before :all do
310
- Rails::LocaleDetection.set_default_url_option = :explicitly
306
+ before :each do
307
+ RailsLocaleDetection.set_default_url_option = :explicitly
311
308
  controller.default_url_options = {}
312
309
  controller.params[:locale] = :fr
313
- controller.set_locale
310
+ locale_detector.set_locale
314
311
  end
315
-
312
+
316
313
  it "sets the current locale to the default param" do
317
314
  I18n.locale.should eq(:fr)
318
315
  end
319
-
316
+
320
317
  it "sets the cookie locale" do
321
318
  controller.cookies[:locale].should eq(:fr)
322
319
  end
323
-
320
+
324
321
  it "doesn't set the default_url_options" do
325
322
  controller.default_url_options[:locale].should eq(:fr)
326
323
  end
327
- end
328
-
324
+ end
325
+
329
326
  end
330
327
 
331
328
  end