]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestLanguage.java
f53b0ff9c199d90d358a79b0c4730b8e58171fb4
[gigi.git] / tests / org / cacert / gigi / TestLanguage.java
1 package org.cacert.gigi;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6 import java.net.URL;
7 import java.util.Locale;
8
9 import org.cacert.gigi.localisation.Language;
10 import org.cacert.gigi.testUtils.IOUtils;
11 import org.cacert.gigi.testUtils.ManagedTest;
12
13 import static org.hamcrest.CoreMatchers.*;
14
15 import org.junit.Test;
16
17 public class TestLanguage extends ManagedTest {
18
19     @Test
20     public void testSignupNoLanguage() {
21         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
22         assertEquals(Locale.ENGLISH, u.getPreferredLocale());
23     }
24
25     @Test
26     public void testSignupDE() {
27         setAcceptLanguage("de");
28         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
29         assertEquals(Locale.GERMAN, u.getPreferredLocale());
30     }
31
32     @Test
33     public void testSignupMulti() {
34         setAcceptLanguage("de,en");
35         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
36         assertEquals(Locale.GERMAN, u.getPreferredLocale());
37     }
38
39     @Test
40     public void testSignupFallback() {
41         setAcceptLanguage("ma,de");
42         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
43         assertEquals(Locale.GERMAN, u.getPreferredLocale());
44     }
45
46     @Test
47     public void testSignupProjection() {
48         setAcceptLanguage("de-de,en");
49         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
50         assertEquals(Locale.GERMAN, u.getPreferredLocale());
51     }
52
53     @Test
54     public void testSelectStandard() throws IOException {
55         String content = IOUtils.readURL(new URL("https://" + getServerName() + "/").openConnection());
56         assertThat(content, containsString("Translations"));
57     }
58
59     @Test
60     public void testSelectGerman() throws IOException {
61         String content = IOUtils.readURL(new URL("https://" + getServerName() + "/?lang=de").openConnection());
62         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Translations")));
63     }
64
65     @Test
66     public void testLanguageAfterLogin() throws IOException {
67         setAcceptLanguage("de,en");
68         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
69         String cookie = login(u.getEmail(), TEST_PASSWORD);
70         String content = IOUtils.readURL(cookie(new URL("https://" + getServerName() + "/").openConnection(), cookie));
71         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Translations")));
72     }
73
74     @Test
75     public void testOtherLanguageAfterLogin() throws IOException {
76         setAcceptLanguage("fr,de,en");
77         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
78         String cookie = login(u.getEmail(), TEST_PASSWORD);
79         String content = IOUtils.readURL(cookie(new URL("https://" + getServerName() + "/").openConnection(), cookie));
80         assertThat(content, containsString(Language.getInstance(Locale.FRENCH).getTranslation("Translations")));
81     }
82 }