/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.localization; import java.util.Properties; import org.junit.Test; import static org.junit.Assert.*; public class LocalizationResourceBundleTest { private static final String NORWEGIAN = "\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5"; @Test public void testNorwegianCharacters() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); assertEquals( NORWEGIAN, resourceBundle.getLocalizedPhrase( "norsketegn" ) ); } @Test public void testResourceOrdering() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); assertEquals( resourceBundle.getLocalizedPhrase( "only_in_en-us" ), "en-us" ); assertEquals( resourceBundle.getLocalizedPhrase( "in_all" ), "en-us" ); assertEquals( resourceBundle.getLocalizedPhrase( "no_and_default" ), "no" ); assertEquals( resourceBundle.getLocalizedPhrase( "only_in_default" ), "default" ); } @Test public void testNonExistingKey() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); assertNull( resourceBundle.getLocalizedPhrase( "in_all_not" ) ); assertNotNull( resourceBundle.getLocalizedPhrase( "in_all" ) ); assertNull( resourceBundle.getLocalizedPhrase( "only_in_en" ) ); assertNotNull( resourceBundle.getLocalizedPhrase( "only_in_en-us" ) ); } @Test public void testEmptyResourceBundle() { LocalizationResourceBundle resourceBundle = new LocalizationResourceBundle( new Properties() ); assertNull( resourceBundle.getLocalizedPhrase( "in_all" ) ); } @Test public void testParameterizedPhrase() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); Object[] testArgs = {"torsk", 8}; String resolvedPhrase = resourceBundle.getLocalizedPhrase( "fiskmessage", testArgs ); assertEquals( "det ble fisket 8 fisk av type torsk med musse p\u00e5 stampen", resolvedPhrase ); } @Test public void testMissingParametersPhrase() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); Object[] testArgs = {"torsk"}; String resolvedPhrase = resourceBundle.getLocalizedPhrase( "fiskmessage", testArgs ); assertEquals( "det ble fisket {1} fisk av type torsk med musse p\u00e5 stampen", resolvedPhrase ); } @Test public void testNullParametersPhrase() throws Exception { LocalizationResourceBundle resourceBundle = LocalizationTestUtils.create_US_NO_DEFAULT_resourceBundle(); String resolvedPhrase = resourceBundle.getLocalizedPhrase( "fiskmessage", null ); assertEquals( "det ble fisket {1} fisk av type {0} med musse p\u00e5 stampen", resolvedPhrase ); } }