From 183b5be4f8e2e7396a32c6d15f6fb5c085ba0889 Mon Sep 17 00:00:00 2001 From: Seb Bacon Date: Fri, 15 Jul 2011 10:44:38 +0100 Subject: Only prepend locales to paths when there's more than one locale to choose from. Replaces core "locale" filter with customised one. Fixes #82 --- spec/controllers/general_controller_spec.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'spec/controllers/general_controller_spec.rb') diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb index 6a48f142a..7807a5541 100644 --- a/spec/controllers/general_controller_spec.rb +++ b/spec/controllers/general_controller_spec.rb @@ -22,6 +22,29 @@ describe GeneralController, "when searching" do response.should redirect_to(:action => 'search', :combined => "mouse") # URL /search/:query end + describe "when using different locale settings" do + home_link_regex = /href=".*\/en"/ + it "should generate URLs with a locale prepended when there's more than one locale set" do + ActionController::Routing::Routes.add_filters(['conditionallyprependlocale']) + get :frontpage + response.should have_text(home_link_regex) + end + + it "should generate URLs without a locale prepended when there's only one locale set" do + ActionController::Routing::Routes.add_filters(['conditionallyprependlocale']) + old_available_locales = FastGettext.default_available_locales + available_locales = ['en'] + FastGettext.default_available_locales = available_locales + I18n.available_locales = available_locales + + get :frontpage + response.should_not have_text(home_link_regex) + + FastGettext.default_available_locales = old_available_locales + I18n.available_locales = old_available_locales + end + end + describe 'when using xapian search' do # rebuild xapian index after fixtures loaded -- cgit v1.2.3