2011-02-08 3 views
0

응용 프로그램은 브라우저 설정에 따라 로케일을 설정해야하지만 어떻게 테스트하는지는 알지 못합니다. 나는 설명하기 위해 제공 할 수있는 어떤 코드 샘플 모르겠지만, 시험은 다음과 같이이다 :이 작동하는 경우레일즈 기능 테스트에서 브라우저 문자열 보내기

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 수락 언어 머리글의 형식을 구문 분석하는 방법을 알아야합니다.

+0

예, 두 개의 블록을 다른 방법으로 넣어야했습니다. 왜냐하면 sencond =/..를 반영하지 않았기 때문입니다. 그러나 트릭입니다. 고맙습니다. – grilix

관련 문제