01: /*
02: * Copyright (c) 2003, Rafael Steil
03: * All rights reserved.
04: *
05: * Redistribution and use in source and binary forms,
06: * with or without modification, are permitted provided
07: * that the following conditions are met:
08: *
09: * 1) Redistributions of source code must retain the above
10: * copyright notice, this list of conditions and the
11: * following disclaimer.
12: * 2) Redistributions in binary form must reproduce the
13: * above copyright notice, this list of conditions and
14: * the following disclaimer in the documentation and/or
15: * other materials provided with the distribution.
16: * 3) Neither the name of "Rafael Steil" nor
17: * the names of its contributors may be used to endorse
18: * or promote products derived from this software without
19: * specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22: * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23: * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24: * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32: * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33: * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34: * IN CONTRACT, STRICT LIABILITY, OR TORT
35: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36: * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38: *
39: * This file creation date: 01/10/2004 - 15:23:32
40: * The JForum Project
41: * http://www.jforum.net
42: */
43: package net.jforum.util.preferences;
44:
45: import junit.framework.TestCase;
46: import net.jforum.TestCaseUtils;
47:
48: /**
49: * @author Rafael Steil
50: * @version $Id: SystemGlobalsTest.java,v 1.5 2005/07/26 04:01:23 diegopires Exp $
51: */
52: public class SystemGlobalsTest extends TestCase {
53: private static final String USER_DEFAULTS = "userDefaultsTest.properties";
54: private static final String GLOBALS = "/WEB-INF/tests/config/SystemGlobalsTest.properties";
55:
56: /**
57: * @see junit.framework.TestCase#setUp()
58: */
59: public void setUp() throws Exception {
60: SystemGlobals.initGlobals(TestCaseUtils.getRootDir(),
61: TestCaseUtils.getRootDir() + GLOBALS);
62: }
63:
64: public void testLoad() {
65: assertEquals(TestCaseUtils.getRootDir() + "/WEB-INF",
66: SystemGlobals.getApplicationResourceDir());
67: assertEquals(SystemGlobals.getApplicationResourceDir()
68: + "/config", SystemGlobals.getValue("config.dir"));
69: assertEquals("some value", SystemGlobals.getValue("some.key"));
70: }
71:
72: public void testTypes() {
73: assertEquals(123, SystemGlobals.getIntValue("int.key"));
74: assertEquals(true, SystemGlobals.getBoolValue("bool.key"));
75: assertEquals(false, SystemGlobals.getBoolValue("bool.key.2"));
76: assertEquals("some string", SystemGlobals
77: .getValue("string.key"));
78: }
79:
80: public void testUserDefaults() throws Exception {
81: SystemGlobals.loadAdditionalDefaults(TestCaseUtils.getRootDir()
82: + "/WEB-INF/tests/config/" + USER_DEFAULTS);
83: assertEquals("user value 1", SystemGlobals
84: .getValue("user.key.1"));
85: assertEquals("user value 2", SystemGlobals
86: .getValue("user.key.2"));
87: assertEquals("some user value", SystemGlobals
88: .getValue("some.key"));
89:
90: try {
91: SystemGlobals.getValue("blablabla");
92: } catch (RuntimeException e) {
93: assertEquals("unknown property: blablabla", e.getMessage());
94: }
95: }
96: }
|