001 /* 002 * Copyright 2005,2009 Ivan SZKIBA 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.ini4j; 017 018 import org.ini4j.test.Helper; 019 020 import static org.junit.Assert.assertEquals; 021 import static org.junit.Assert.assertNotNull; 022 import static org.junit.Assert.assertNull; 023 import static org.junit.Assert.assertSame; 024 import static org.junit.Assert.fail; 025 026 import org.junit.Test; 027 028 import java.util.prefs.Preferences; 029 030 public class IniPreferencesFactoryTest extends Ini4jCase 031 { 032 private static final String DUMMY = "dummy"; 033 034 @Test public void testGetIniLocation() throws Exception 035 { 036 IniPreferencesFactory factory = new IniPreferencesFactory(); 037 038 System.setProperty(DUMMY, DUMMY); 039 assertEquals(DUMMY, factory.getIniLocation(DUMMY)); 040 System.getProperties().remove(DUMMY); 041 assertNull(factory.getIniLocation(DUMMY)); 042 } 043 044 @SuppressWarnings("empty-statement") 045 @Test public void testGetResourceAsStream() throws Exception 046 { 047 IniPreferencesFactory factory = new IniPreferencesFactory(); 048 049 // class path 050 assertNotNull(factory.getResourceAsStream(Helper.DWARFS_INI)); 051 052 // url 053 String location = Helper.getResourceURL(Helper.DWARFS_INI).toString(); 054 055 assertNotNull(factory.getResourceAsStream(location)); 056 057 // invalid url should throw IllegalArgumentException 058 try 059 { 060 factory.getResourceAsStream("http://"); 061 fail(); 062 } 063 catch (IllegalArgumentException x) 064 { 065 ; 066 } 067 } 068 069 @Test public void testNewIniPreferences() 070 { 071 System.setProperty(DUMMY, DUMMY); 072 try 073 { 074 new IniPreferencesFactory().newIniPreferences(DUMMY); 075 missing(IllegalArgumentException.class); 076 } 077 catch (IllegalArgumentException x) 078 { 079 // 080 } 081 finally 082 { 083 System.getProperties().remove(DUMMY); 084 } 085 } 086 087 @Test public void testSystemRoot() throws Exception 088 { 089 Preferences prefs = Preferences.systemRoot(); 090 091 assertNotNull(prefs); 092 assertEquals(IniPreferences.class, prefs.getClass()); 093 assertSame(prefs, Preferences.systemRoot()); 094 } 095 096 @Test public void testUserRoot() throws Exception 097 { 098 Preferences prefs = Preferences.userRoot(); 099 100 assertNotNull(prefs); 101 assertEquals(IniPreferences.class, prefs.getClass()); 102 assertSame(prefs, Preferences.userRoot()); 103 } 104 }