rails_locale_detection 1.3.2 → 2.0.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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