/*******************************************************************************
* Copyright (c) 2002, 2014 Innoopract Informationssysteme GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Innoopract Informationssysteme GmbH - initial API and implementation
* EclipseSoure - ongoing implementation
* Frank Appel - replaced singletons and static fields (Bug 337787)
******************************************************************************/
package org.eclipse.rap.rwt;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import java.util.Locale;
import org.eclipse.rap.rwt.testfixture.internal.Fixture;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class NLS_Test {
private Locale localeBuffer;
@Before
public void setUp() {
localeBuffer = Locale.getDefault();
Locale.setDefault( Locale.ENGLISH );
Fixture.setUp();
}
@After
public void tearDown() {
Fixture.tearDown();
Locale.setDefault( localeBuffer );
}
@Test
public void testNLS_default() {
assertEquals( "My Message", TestMessages.get().MyMessage );
}
@Test
public void testNLS_italian() {
RWT.setLocale( Locale.ITALIAN );
assertEquals( "Il mio messaggio", TestMessages.get().MyMessage );
}
@Test
public void testNLS_german() {
RWT.setLocale( Locale.GERMAN );
assertEquals( "Meine Nachricht", TestMessages.get().MyMessage );
}
@Test
public void testNLS_sameInstance() {
assertSame( TestMessages.get(), TestMessages.get() );
}
@Test
public void testNLS_UTF8_default() {
assertEquals( "My Message", TestMessagesUTF8.get().MyMessage );
}
@Test
public void testNLS_UTF8_italian() {
RWT.setLocale( Locale.ITALIAN );
assertEquals( "Il mio messaggio", TestMessagesUTF8.get().MyMessage );
}
@Test
public void testNLS_UTF8_german() {
RWT.setLocale( Locale.GERMAN );
assertEquals( "Meine Nachricht", TestMessagesUTF8.get().MyMessage );
}
@Test
public void testNLS_UTF8_sameInstance() {
assertSame( TestMessagesUTF8.get(), TestMessagesUTF8.get() );
}
@Test
public void testNLSWithIncompleteLocalization() {
assertEquals( "", TestIncompleteMessages.get().NoTranslationAvailable );
}
final static class TestMessages {
private static final String BUNDLE_NAME = "org.eclipse.rap.rwt.messages";
public String MyMessage;
public static TestMessages get() {
return RWT.NLS.getISO8859_1Encoded( BUNDLE_NAME, TestMessages.class );
}
private TestMessages() {
}
}
final static class TestMessagesUTF8 {
private static final String BUNDLE_NAME = "org.eclipse.rap.rwt.messages_utf8";
public String MyMessage;
public static TestMessagesUTF8 get() {
return RWT.NLS.getUTF8Encoded( BUNDLE_NAME, TestMessagesUTF8.class );
}
private TestMessagesUTF8() {
}
}
final static class TestIncompleteMessages {
private static final String BUNDLE_NAME = "org.eclipse.rap.rwt.incomplete_messages";
public String NoTranslationAvailable;
public static TestIncompleteMessages get() {
return RWT.NLS.getISO8859_1Encoded( BUNDLE_NAME, TestIncompleteMessages.class );
}
private TestIncompleteMessages() {
}
}
}