2012-04-16 22:30:22 +02:00
|
|
|
Feature: i18n Preview
|
|
|
|
In order to preview localized html
|
|
|
|
|
|
|
|
Scenario: Running localize with the default config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
2013-03-20 21:46:20 +01:00
|
|
|
When I go to "/morning.html"
|
|
|
|
Then I should see "Good morning"
|
2013-05-30 19:20:57 +02:00
|
|
|
When I go to "/one.html"
|
|
|
|
Then I should see "Only one"
|
2012-04-16 22:30:22 +02:00
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "File Not Found"
|
2013-03-20 21:46:20 +01:00
|
|
|
When I go to "/en/morning.html"
|
|
|
|
Then I should see "File Not Found"
|
2012-04-16 22:30:22 +02:00
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/es/hola.html"
|
|
|
|
Then I should see "Hola World"
|
2013-03-20 21:46:20 +01:00
|
|
|
When I go to "/es/manana.html"
|
|
|
|
Then I should see "Buenos días"
|
2013-05-30 19:20:57 +02:00
|
|
|
When I go to "/es/una.html"
|
|
|
|
Then I should see "Solamente una"
|
2012-09-30 22:17:01 +02:00
|
|
|
|
|
|
|
Scenario: A template changes i18n during preview
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
And the file "locales/en.yml" has the contents
|
|
|
|
"""
|
|
|
|
---
|
|
|
|
en:
|
|
|
|
greetings: "Howdy"
|
|
|
|
hi: "Hello"
|
|
|
|
"""
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When the file "locales/en.yml" has the contents
|
|
|
|
"""
|
|
|
|
---
|
|
|
|
en:
|
|
|
|
greetings: "How You Doin"
|
|
|
|
hi: "Sup"
|
|
|
|
"""
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "How You Doin"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Sup World"
|
|
|
|
|
2012-04-16 22:30:22 +02:00
|
|
|
Scenario: Running localize with the alt path config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n, :path => "/lang_:locale/"
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/lang_en/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/lang_es/index.html"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/lang_es/hola.html"
|
|
|
|
Then I should see "Hola World"
|
|
|
|
|
|
|
|
|
|
|
|
Scenario: Running localize with the alt root config
|
|
|
|
Given a fixture app "i18n-alt-root-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n, :templates_dir => "lang_data"
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-alt-root-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/es/hola.html"
|
|
|
|
Then I should see "Hola World"
|
|
|
|
|
|
|
|
Scenario: Running localize with the lang map config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n, :lang_map => { :en => :english, :es => :spanish }
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/english/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/spanish/index.html"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/spanish/hola.html"
|
|
|
|
Then I should see "Hola World"
|
2013-02-09 21:44:37 +01:00
|
|
|
|
|
|
|
Scenario: Running localize with a non-English mount config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n, :mount_at_root => :es
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/en/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/hola.html"
|
|
|
|
Then I should see "Hola World"
|
2013-03-20 21:46:20 +01:00
|
|
|
When I go to "/manana.html"
|
|
|
|
Then I should see "Buenos días"
|
2013-02-09 21:44:37 +01:00
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "File Not Found"
|
2013-03-20 21:46:20 +01:00
|
|
|
When I go to "/en/morning.html"
|
|
|
|
Then I should see "Good morning"
|
|
|
|
When I go to "/es/manana.html"
|
|
|
|
Then I should see "File Not Found"
|
2013-02-09 21:44:37 +01:00
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/hola.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
|
|
|
|
Scenario: Running localize with a non-English lang subset
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n, :langs => :es
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/en/hello.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/hola.html"
|
|
|
|
Then I should see "Hola World"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/hola.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
|
2012-04-16 22:30:22 +02:00
|
|
|
|
|
|
|
Scenario: Running localize with the no mount config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n, :mount_at_root => false
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/en/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "Como Esta?"
|
|
|
|
When I go to "/es/hola.html"
|
|
|
|
Then I should see "Hola World"
|
|
|
|
|
|
|
|
Scenario: Running localize with the subset config
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2012-05-25 01:51:36 +02:00
|
|
|
activate :i18n, :langs => [:en]
|
2012-04-16 22:30:22 +02:00
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see "Hello World"
|
|
|
|
When I go to "/en/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see "File Not Found"
|
|
|
|
When I go to "/es/hola.html"
|
2012-09-02 19:04:43 +02:00
|
|
|
Then I should see "File Not Found"
|
|
|
|
|
|
|
|
Scenario: Running localize with relative_assets
|
|
|
|
Given a fixture app "i18n-test-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n
|
|
|
|
activate :relative_assets
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-test-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see '"stylesheets/site.css"'
|
|
|
|
When I go to "/hello.html"
|
|
|
|
Then I should see '"stylesheets/site.css"'
|
|
|
|
When I go to "/es/index.html"
|
|
|
|
Then I should see '"../stylesheets/site.css"'
|
|
|
|
When I go to "/es/hola.html"
|
2013-04-07 02:21:56 +02:00
|
|
|
Then I should see '"../stylesheets/site.css"'
|
|
|
|
|
|
|
|
Scenario: Missing translations fall back to the default locale
|
|
|
|
Given a fixture app "i18n-default-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n, :mount_at_root => :es
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-default-app"
|
|
|
|
When I go to "/en/"
|
|
|
|
Then I should see "Default locale: es"
|
|
|
|
Then I should see "Current locale: en"
|
|
|
|
Then I should see "Buenos días"
|
|
|
|
Then I should see "Howdy"
|
2013-05-29 20:00:37 +02:00
|
|
|
|
|
|
|
Scenario: Nested i18n yaml
|
|
|
|
Given a fixture app "i18n-nested-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
activate :i18n
|
|
|
|
"""
|
|
|
|
Given the Server is running at "i18n-nested-app"
|
|
|
|
When I go to "/"
|
|
|
|
Then I should see "Howdy"
|
|
|
|
Then I should see "More"
|
|
|
|
When I go to "/es/"
|
|
|
|
Then I should see "Como Esta?"
|
2013-05-30 19:20:57 +02:00
|
|
|
Then I should see "Mucho"
|