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