/* * Copyright 2004-2015 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.seasar.framework.message; import java.io.File; import java.net.URL; import java.util.Date; import java.util.Properties; import junit.framework.TestCase; import org.seasar.framework.container.hotdeploy.HotdeployUtil; import org.seasar.framework.util.ResourceUtil; /** * @author shot * @author higa */ public class MessageResourceBundleFacadeTest extends TestCase { private static final String PATH = "SSRMessages.properties"; private static final String PATH2 = "SSRMessages_ja.properties"; /** * @throws Exception */ public void testCreateProperties_url() throws Exception { URL url = ResourceUtil.getResource(PATH); Properties props = MessageResourceBundleFacade.createProperties(url); assertNotNull(props); assertEquals("{0} not found", props.get("ESSR0001")); } /** * @throws Exception */ public void testCreateProperties_file() throws Exception { File file = ResourceUtil.getResourceAsFile(PATH); Properties props = MessageResourceBundleFacade.createProperties(file); assertNotNull(props); assertEquals("{0} not found", props.get("ESSR0001")); file = ResourceUtil.getResourceAsFile(PATH2); props = MessageResourceBundleFacade.createProperties(file); System.out.println(props.get("ESSR0001")); assertEquals("{0}が見つかりません", props.get("ESSR0001")); } /** * @throws Exception */ public void testIsModified_hot() throws Exception { HotdeployUtil.setHotdeploy(true); try { URL url = ResourceUtil.getResource(PATH); File file = ResourceUtil.getFile(url); MessageResourceBundleFacade facade = new MessageResourceBundleFacade( url); assertFalse(facade.isModified()); Thread.sleep(500); file.setLastModified(new Date().getTime()); assertTrue(facade.isModified()); } finally { HotdeployUtil.clearHotdeploy(); } } /** * @throws Exception */ public void testIsModified_cool() throws Exception { URL url = ResourceUtil.getResource(PATH); File file = ResourceUtil.getFile(url); MessageResourceBundleFacade facade = new MessageResourceBundleFacade( url); assertFalse(facade.isModified()); Thread.sleep(500); file.setLastModified(new Date().getTime()); assertFalse(facade.isModified()); } /** * @throws Exception */ public void testSetup() throws Exception { URL url = ResourceUtil.getResource(PATH); MessageResourceBundleFacade facade = new MessageResourceBundleFacade( url); MessageResourceBundle bundle = facade.getBundle(); assertNotNull(bundle); assertEquals("{0} not found", bundle.get("ESSR0001")); } /** * @throws Exception */ public void testParent() throws Exception { URL url = ResourceUtil.getResource(PATH2); MessageResourceBundleFacade facade = new MessageResourceBundleFacade( url); URL parentUrl = ResourceUtil.getResource(PATH); MessageResourceBundleFacade parent = new MessageResourceBundleFacade( parentUrl); facade.setParent(parent); MessageResourceBundle bundle = facade.getBundle(); assertNotNull(bundle); assertNotNull(bundle.getParent()); } }