2011-02-08 7 views
0

Приложение должно установить языковой стандарт на основе настроек браузера, но я не понимаю, как его проверить. Я не знаю, что пример кода я мог бы обеспечить, чтобы объяснить, но тест-то вроде этого:отправить строку браузера в функциональных тестах rails

def test_locale_settings 
    get :index, {}, {:user_id => 1} # send browser settings to english 
    assert_select '.nav .welcome', :text => 'Welcome' 
    get :index, {}, {:user_id => 1} # send browser settings to spanish 
    assert_select '.nav .welcome', :text => 'Bienvenido' 
end 

ответ

1

Не уверен, если это работает, но дать ему попробовать:

def test_locale_settings 
    @request.env["HTTP_ACCEPT_LANGUAGE"] = "en" 
    get :index, {}, {:user_id => 1} # send browser settings to english 
    assert_select '.nav .welcome', :text => 'Welcome' 

    @request.env["HTTP_ACCEPT_LANGUAGE"] = "es" 
    get :index, {}, {:user_id => 1} # send browser settings to spanish 
    assert_select '.nav .welcome', :text => 'Bienvenido' 
end 

Конечно ваше приложение должно знать, как разбирать формат заголовка HTTP Accept Language.

+0

Да, мне пришлось поместить два блока в разные методы, потому что они не отражали sencond =/.. но это трюк. Спасибо. – grilix

Смежные вопросы