rack-locale_chooser 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-locale_chooser (0.0.11)
4
+ rack-locale_chooser (0.0.13)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module LocaleChooser
3
- VERSION = "0.0.13"
3
+ VERSION = "0.0.14"
4
4
  end
5
5
  end
@@ -9,4 +9,4 @@ module Rack
9
9
  Chooser.new(app, options)
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -1,10 +1,12 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'logger'
2
3
 
3
4
  describe Rack::LocaleChooser do
4
5
  def app
5
6
  app = Rack::Builder.new {
6
- use Rack::LocaleChooser::Chooser, :host_mappings => { :en => 'us.example.com',
7
- :es => 'es.example.com' },
7
+ use Rack::LocaleChooser::Chooser, :logger => Logger.new('log/locale.log'),
8
+ :host_mappings => { :es => 'es.example.com',
9
+ :pt_BR => 'br.example.com' },
8
10
  :country_mappings => { 'VE' => :es }
9
11
  run BasicRackApp.new
10
12
  }
@@ -19,10 +21,7 @@ describe Rack::LocaleChooser do
19
21
  get 'http://example.com/', {}, 'HTTP_COOKIE' => 'locale=es'
20
22
  last_response.status.should == 301
21
23
  last_response.headers['Location'].should == 'http://es.example.com/'
22
- end
23
-
24
- it "should be redirected folling geolocation" do
25
- get 'http://example.com', {}
24
+ I18n.locale.should == :es
26
25
  end
27
26
 
28
27
  it "should be redirected following HTTP_ACCEPT_LANGUAGE headers" do
@@ -32,25 +31,22 @@ describe Rack::LocaleChooser do
32
31
  I18n.locale.should == :es
33
32
  end
34
33
 
35
- it "should map locale to explicit domain mappings" do
36
- get 'http://example.com/', {}, 'HTTP_ACCEPT_LANGUAGE' => 'en'
37
- last_response.status.should == 301
38
- last_response.headers['Location'].should == 'http://us.example.com/'
39
- I18n.locale.should == :en
40
- end
41
-
42
-
43
34
  it "should map locale to explicit location mappings by country level" do
44
- get 'http://example.com/', {}, 'REMOTE_ADDR' => '200.1.1.2' # Cacacas VE
35
+ get 'http://example.com/', {}, 'REMOTE_ADDR' => '200.1.1.2' # VE
45
36
  last_response.status.should == 301
46
37
  last_response.headers['Location'].should == 'http://es.example.com/'
38
+ I18n.locale.should == :es
47
39
  end
48
40
 
41
+ it "should map locale to default if location mappings by country level not found" do
42
+ get 'http://example.com/', {}, 'REMOTE_ADDR' => '174.141.155.106' # US
43
+ last_response.status.should == 200
44
+ I18n.locale.should == :en
45
+ end
49
46
 
50
47
  it "fall back to default if accept language headers not on mappings" do
51
48
  get 'http://example.com/', {}, 'HTTP_ACCEPT_LANGUAGE' => 'ru'
52
- last_response.status.should == 301
53
- last_response.headers['Location'].should == 'http://us.example.com/'
49
+ last_response.status.should == 200
54
50
  I18n.locale.should == :en
55
51
  end
56
52
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-locale_chooser
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 13
10
- version: 0.0.13
9
+ - 14
10
+ version: 0.0.14
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Jefferson Jean Martins Gir\xC3\xA3o"