From 660411f45eb5c57839bc281540d7b36f62d1ef1a Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Thu, 15 Jan 2009 21:40:05 -0300 Subject: [PATCH] ActionItem882: putting current language in HTML header --- app/helpers/language_helper.rb | 4 ++++ app/views/layouts/application.rhtml | 2 +- test/integration/locale_setting_test.rb | 8 ++++++++ test/unit/language_helper_test.rb | 5 +++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/helpers/language_helper.rb b/app/helpers/language_helper.rb index 5072f6c..b2194b1 100644 --- a/app/helpers/language_helper.rb +++ b/app/helpers/language_helper.rb @@ -7,6 +7,10 @@ module LanguageHelper language.downcase end + def html_language + language.downcase.gsub('_', '-') + end + alias :calendar_date_select_language :tinymce_language def language_chooser(options = {}) diff --git a/app/views/layouts/application.rhtml b/app/views/layouts/application.rhtml index 5df0a84..177bcaf 100644 --- a/app/views/layouts/application.rhtml +++ b/app/views/layouts/application.rhtml @@ -1,5 +1,5 @@ - + <%= @environment.name() %> diff --git a/test/integration/locale_setting_test.rb b/test/integration/locale_setting_test.rb index a6bbdd2..dd71aff 100644 --- a/test/integration/locale_setting_test.rb +++ b/test/integration/locale_setting_test.rb @@ -64,6 +64,14 @@ class LocaleSettingTest < ActionController::IntegrationTest end + should 'put current language in HTML headers' do + get '/', :lang => 'pt_BR' + assert_tag :tag => 'html', :attributes => { 'xml:lang' => 'pt-br', 'lang' => 'pt-br' } + + get '/', :lang => 'en' + assert_tag :tag => 'html', :attributes => { 'xml:lang' => 'en', 'lang' => 'en' } + end + protected def assert_locale(locale) diff --git a/test/unit/language_helper_test.rb b/test/unit/language_helper_test.rb index c4da19b..80b5094 100644 --- a/test/unit/language_helper_test.rb +++ b/test/unit/language_helper_test.rb @@ -18,6 +18,11 @@ class LanguageHelperTest < Test::Unit::TestCase assert_equal 'pt_br', tinymce_language end + should 'downcase and use dash for HTML language' do + self.expects(:language).returns('pt_BR') + assert_equal 'pt-br', html_language + end + should 'generate language chooser correcly' do Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once -- libgit2 0.21.2