отправить строку браузера в рельсы функциональных тестов - PullRequest
0 голосов
/ 08 февраля 2011

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

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 Ответ

1 голос
/ 09 февраля 2011

Не уверен, что это работает, но попробуйте:

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.

...