Support fallback to default language without country-specific locale
This commit is contained in:
parent
939c46fafd
commit
88353e8748
|
@ -65,6 +65,10 @@ public class VoiceVerificationController {
|
|||
return getLocalizedDescription(code, locale);
|
||||
}
|
||||
|
||||
if (locale != null && locale.split("-").length >= 1 && supportedLocales.contains(locale.split("-")[0])) {
|
||||
return getLocalizedDescription(code, locale.split("-")[0]);
|
||||
}
|
||||
|
||||
return getLocalizedDescription(code, "en-US");
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,9 @@ import org.whispersystems.textsecuregcm.tests.util.AuthHelper;
|
|||
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
||||
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
||||
import io.dropwizard.auth.AuthValueFactoryProvider;
|
||||
import io.dropwizard.testing.FixtureHelpers;
|
||||
|
@ -27,7 +29,7 @@ public class VoiceVerificationControllerTest {
|
|||
.setMapper(SystemMapper.getMapper())
|
||||
.setTestContainerFactory(new GrizzlyWebTestContainerFactory())
|
||||
.addResource(new VoiceVerificationController("https://foo.com/bar",
|
||||
Collections.singleton("pt-BR")))
|
||||
new HashSet<>(Arrays.asList("pt-BR", "ru"))))
|
||||
.build();
|
||||
|
||||
@Test
|
||||
|
@ -43,6 +45,19 @@ public class VoiceVerificationControllerTest {
|
|||
assertThat(response.readEntity(String.class)).isXmlEqualTo(FixtureHelpers.fixture("fixtures/voice_verification_pt_br.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTwimlSplitLocale() {
|
||||
Response response =
|
||||
resources.getJerseyTest()
|
||||
.target("/v1/voice/description/123456")
|
||||
.queryParam("l", "ru-RU")
|
||||
.request()
|
||||
.post(null);
|
||||
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
assertThat(response.readEntity(String.class)).isXmlEqualTo(FixtureHelpers.fixture("fixtures/voice_verification_ru.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTwimlUnsupportedLocale() {
|
||||
Response response =
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Response>
|
||||
<Play>https://foo.com/bar/ru/verification.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/1_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/2_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/3_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/4_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/5_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/6_falling.mp3</Play>
|
||||
<Pause length="1"/>
|
||||
<Play>https://foo.com/bar/ru/verification.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/1_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/2_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/3_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/4_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/5_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/6_falling.mp3</Play>
|
||||
<Pause length="1"/>
|
||||
<Play>https://foo.com/bar/ru/verification.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/1_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/2_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/3_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/4_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/5_middle.mp3</Play>
|
||||
<Play>https://foo.com/bar/ru/6_falling.mp3</Play>
|
||||
</Response>
|
Loading…
Reference in New Issue