| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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.apache.harmony.logging.tests.java.util.logging; |
| |
| import java.security.Permission; |
| import java.util.Locale; |
| import java.util.MissingResourceException; |
| import java.util.Properties; |
| import java.util.ResourceBundle; |
| import java.util.logging.Filter; |
| import java.util.logging.Handler; |
| import java.util.logging.Level; |
| import java.util.logging.LogManager; |
| import java.util.logging.LogRecord; |
| import java.util.logging.Logger; |
| import java.util.logging.LoggingPermission; |
| |
| import junit.framework.TestCase; |
| |
| import org.apache.harmony.logging.tests.java.util.logging.util.EnvironmentHelper; |
| |
| import tests.util.CallVerificationStack; |
| import dalvik.annotation.SideEffect; |
| import dalvik.annotation.TestLevel; |
| import dalvik.annotation.TestTargetClass; |
| import dalvik.annotation.TestTargetNew; |
| import dalvik.annotation.TestTargets; |
| |
| /** |
| * Test suite for the class java.util.logging.Logger. |
| */ |
| @TestTargetClass(Logger.class) |
| public class LoggerTest extends TestCase { |
| |
| private final static String VALID_RESOURCE_BUNDLE = "bundles/java/util/logging/res"; |
| |
| private final static String VALID_RESOURCE_BUNDLE2 = "bundles/java/util/logging/res2"; |
| |
| private final static String VALID_RESOURCE_BUNDLE3 = "bundles/java/util/logging/res3"; |
| |
| private final static String INVALID_RESOURCE_BUNDLE = "impossible_not_existing"; |
| |
| private final static String LOGGING_CONFIG_FILE = "src/test/resources/config/java/util/logging/logging.config"; |
| |
| private final static String VALID_KEY = "LOGGERTEST"; |
| |
| private final static String VALID_VALUE = "Test_ZH_CN"; |
| |
| private final static String VALID_VALUE2 = "Test_NoLocale2"; |
| |
| private Logger sharedLogger = null; |
| |
| private Locale oldLocale = null; |
| |
| /* |
| * @see TestCase#setUp() Notice : Logger constructor is protected => |
| * MockLogger |
| */ |
| protected void setUp() throws Exception { |
| super.setUp(); |
| LogManager.getLogManager().reset(); |
| oldLocale = Locale.getDefault(); |
| Locale.setDefault(new Locale("zh", "CN")); |
| sharedLogger = new MockLogger("SharedLogger", VALID_RESOURCE_BUNDLE); |
| sharedLogger.addHandler(new MockHandler()); |
| } |
| |
| /* |
| * Reset the log manager. |
| */ |
| protected void tearDown() throws Exception { |
| CallVerificationStack.getInstance().clear(); |
| Locale.setDefault(oldLocale); |
| LogManager.getLogManager().reset(); |
| super.tearDown(); |
| } |
| |
| /* |
| * Test the global logger |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGlobalLogger() { |
| assertNull(Logger.global.getFilter()); |
| assertEquals(0, Logger.global.getHandlers().length); |
| assertNull(Logger.global.getLevel()); |
| assertEquals("global", Logger.global.getName()); |
| assertNull(Logger.global.getParent().getParent()); |
| assertNull(Logger.global.getResourceBundle()); |
| assertNull(Logger.global.getResourceBundleName()); |
| assertTrue(Logger.global.getUseParentHandlers()); |
| assertSame(Logger.global, Logger.getLogger("global")); |
| assertSame(Logger.global, LogManager.getLogManager() |
| .getLogger("global")); |
| } |
| |
| /* |
| * Test constructor under normal conditions. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies constructor under normal conditions.", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testConstructor_Normal() { |
| MockLogger mlog = new MockLogger("myname", VALID_RESOURCE_BUNDLE); |
| assertNull(mlog.getFilter()); |
| assertEquals(0, mlog.getHandlers().length); |
| assertNull(mlog.getLevel()); |
| assertEquals("myname", mlog.getName()); |
| assertNull(mlog.getParent()); |
| ResourceBundle rb = mlog.getResourceBundle(); |
| assertEquals(VALID_VALUE, rb.getString(VALID_KEY)); |
| assertEquals(mlog.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| assertTrue(mlog.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test constructor with null parameters. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies constructor with null parameters.", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testConstructor_Null() { |
| MockLogger mlog = new MockLogger(null, null); |
| assertNull(mlog.getFilter()); |
| assertEquals(0, mlog.getHandlers().length); |
| assertNull(mlog.getLevel()); |
| assertNull(mlog.getName()); |
| assertNull(mlog.getParent()); |
| assertNull(mlog.getResourceBundle()); |
| assertNull(mlog.getResourceBundleName()); |
| assertTrue(mlog.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test constructor with invalid name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies constructor with invalid name.", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testConstructor_InvalidName() { |
| MockLogger mlog = new MockLogger("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|", |
| null); |
| assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|", mlog.getName()); |
| } |
| |
| /* |
| * Test constructor with empty name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies constructor with empty name.", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testConstructor_EmptyName() { |
| MockLogger mlog = new MockLogger("", null); |
| assertEquals("", mlog.getName()); |
| } |
| |
| /* |
| * Test constructor with invalid resource bundle name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies MissingResourceException.", |
| method = "Logger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testConstructor_InvalidResourceBundle() { |
| |
| // try anonymous with invalid resource |
| try { |
| new MockLogger(null, INVALID_RESOURCE_BUNDLE); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| // ok ! |
| } |
| // try named Logger with invalid resource |
| try { |
| new MockLogger("testConstructor_InvalidResourceBundle", |
| INVALID_RESOURCE_BUNDLE); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| // ok ! |
| } |
| // try empty string |
| try { |
| new MockLogger(null, ""); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| // ok ! |
| } |
| } |
| |
| /* |
| * Test getAnonymousLogger() |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getAnonymousLogger", |
| args = {} |
| ) |
| public void testGetAnonymousLogger() { |
| Logger alog = Logger.getAnonymousLogger(); |
| assertNotSame(alog, Logger.getAnonymousLogger()); |
| assertNull(alog.getFilter()); |
| assertEquals(0, alog.getHandlers().length); |
| assertNull(alog.getLevel()); |
| assertNull(alog.getName()); |
| assertEquals("", alog.getParent().getName()); |
| assertNull(alog.getParent().getParent()); |
| assertNull(alog.getResourceBundle()); |
| assertNull(alog.getResourceBundleName()); |
| assertTrue(alog.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test getAnonymousLogger(String resourceBundleName) with valid resource |
| * bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getAnonymousLogger(String resourceBundleName) with valid resource bundle.", |
| method = "getAnonymousLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetAnonymousLogger_ValidResourceBundle() { |
| Logger alog = Logger.getAnonymousLogger(VALID_RESOURCE_BUNDLE); |
| assertNotSame(alog, Logger.getAnonymousLogger(VALID_RESOURCE_BUNDLE)); |
| assertNull(alog.getFilter()); |
| assertEquals(0, alog.getHandlers().length); |
| assertNull(alog.getLevel()); |
| assertNull(alog.getName()); |
| assertEquals("", alog.getParent().getName()); |
| assertNull(alog.getParent().getParent()); |
| assertEquals(VALID_VALUE, alog.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(alog.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| assertTrue(alog.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test getAnonymousLogger(String resourceBundleName) with null resource |
| * bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getAnonymousLogger(String resourceBundleName) with null resource bundle.", |
| method = "getAnonymousLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetAnonymousLogger_NullResourceBundle() { |
| Logger alog = Logger.getAnonymousLogger(null); |
| assertNotSame(alog, Logger.getAnonymousLogger(null)); |
| assertNull(alog.getFilter()); |
| assertEquals(0, alog.getHandlers().length); |
| assertNull(alog.getLevel()); |
| assertNull(alog.getName()); |
| assertEquals("", alog.getParent().getName()); |
| assertNull(alog.getParent().getParent()); |
| assertNull(alog.getResourceBundle()); |
| assertNull(alog.getResourceBundleName()); |
| assertTrue(alog.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test getAnonymousLogger(String resourceBundleName) with invalid resource |
| * bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getAnonymousLogger(String resourceBundleName) with invalid resource bundle.", |
| method = "getAnonymousLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetAnonymousLogger_InvalidResourceBundle() { |
| try { |
| Logger.getAnonymousLogger(INVALID_RESOURCE_BUNDLE); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| } |
| // try empty name |
| try { |
| Logger.getAnonymousLogger(""); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| } |
| } |
| |
| /* |
| * Test getLogger(String), getting a logger with no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String), getting a logger with no parent.", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetLogger_Normal() throws Exception { |
| // config the level |
| Properties p = new Properties(); |
| p.put("testGetLogger_Normal_ANewLogger.level", "ALL"); |
| LogManager.getLogManager().readConfiguration( |
| EnvironmentHelper.PropertiesToInputStream(p)); |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLogger_Normal_ANewLogger")); |
| // create a new logger |
| Logger log = Logger.getLogger("testGetLogger_Normal_ANewLogger"); |
| // get an existing logger |
| assertSame(log, Logger.getLogger("testGetLogger_Normal_ANewLogger")); |
| // check it has been registered |
| assertSame(log, LogManager.getLogManager().getLogger( |
| "testGetLogger_Normal_ANewLogger")); |
| |
| assertNull(log.getFilter()); |
| assertEquals(0, log.getHandlers().length); |
| // check it's set to the preconfigured level |
| assertSame(Level.ALL, log.getLevel()); |
| assertEquals("testGetLogger_Normal_ANewLogger", log.getName()); |
| assertNull(log.getParent().getParent()); |
| assertNull(log.getResourceBundle()); |
| assertNull(log.getResourceBundleName()); |
| assertTrue(log.getUseParentHandlers()); |
| |
| |
| } |
| |
| /* |
| * Test getLogger(String), getting a logger with invalid level configured. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String), getting a logger with invalid level configured.", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetLogger_InvalidLevel() throws Exception { |
| // config the level |
| Properties p = new Properties(); |
| p |
| .put("testGetLogger_InvalidLevel_ANewLogger.level", |
| "impossible_level"); |
| LogManager.getLogManager().readConfiguration( |
| EnvironmentHelper.PropertiesToInputStream(p)); |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLogger_InvalidLevel_ANewLogger")); |
| // create a new logger |
| Logger log = Logger.getLogger("testGetLogger_InvalidLevel_ANewLogger"); |
| // get an existing logger |
| assertSame(log, Logger |
| .getLogger("testGetLogger_InvalidLevel_ANewLogger")); |
| // check it has been registered |
| assertSame(log, LogManager.getLogManager().getLogger( |
| "testGetLogger_InvalidLevel_ANewLogger")); |
| assertNull(log.getLevel()); |
| } |
| |
| /* |
| * Test getLogger(String) with null name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String) with null name.", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetLogger_Null() { |
| try { |
| Logger.getLogger(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| // ok ! |
| } |
| try { |
| Logger.getLogger(null, null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| // ok ! |
| } |
| } |
| |
| /* |
| * Test getLogger(String) with invalid name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String) with invalid name.", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetLogger_Invalid() { |
| Logger log = Logger.getLogger("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|"); |
| assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|", log.getName()); |
| } |
| |
| /* |
| * Test getLogger(String) with empty name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String) with empty name.", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testGetLogger_Empty() { |
| assertNotNull(LogManager.getLogManager().getLogger("")); |
| Logger log = Logger.getLogger(""); |
| assertSame(log, LogManager.getLogManager().getLogger("")); |
| assertNull(log.getFilter()); |
| assertEquals(0, log.getHandlers().length); |
| // check it's set to the preconfigured level |
| assertSame(Level.INFO, log.getLevel()); |
| assertEquals("", log.getName()); |
| assertNull(log.getParent()); |
| assertTrue(log.getUseParentHandlers()); |
| assertNull(log.getResourceBundle()); |
| assertNull(log.getResourceBundleName()); |
| } |
| |
| /* |
| * Test getLogger(String), getting a logger with existing parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String), getting a logger with existing parent.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLogger_WithParent() { |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLogger_WithParent_ParentLogger")); |
| |
| // get root of hierarchy |
| Logger root = Logger.getLogger(""); |
| // create the parent logger |
| Logger pLog = Logger.getLogger("testGetLogger_WithParent_ParentLogger", |
| VALID_RESOURCE_BUNDLE); |
| pLog.setLevel(Level.CONFIG); |
| pLog.addHandler(new MockHandler()); |
| pLog.setFilter(new MockFilter()); |
| pLog.setUseParentHandlers(false); |
| // check root parent |
| assertEquals("testGetLogger_WithParent_ParentLogger", pLog.getName()); |
| assertSame(pLog.getParent(), root); |
| |
| // child part |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLogger_WithParent_ParentLogger.child")); |
| // create the child logger |
| Logger child = Logger |
| .getLogger("testGetLogger_WithParent_ParentLogger.child"); |
| assertNull(child.getFilter()); |
| assertEquals(0, child.getHandlers().length); |
| assertNull(child.getLevel()); |
| assertEquals("testGetLogger_WithParent_ParentLogger.child", child |
| .getName()); |
| assertSame(child.getParent(), pLog); |
| assertNull(child.getResourceBundle()); |
| assertNull(child.getResourceBundleName()); |
| assertTrue(child.getUseParentHandlers()); |
| |
| // create not valid child |
| Logger notChild = Logger |
| .getLogger("testGetLogger_WithParent_ParentLogger1.child"); |
| assertNull(notChild.getFilter()); |
| assertEquals(0, notChild.getHandlers().length); |
| assertNull(notChild.getLevel()); |
| assertEquals("testGetLogger_WithParent_ParentLogger1.child", notChild |
| .getName()); |
| assertNotSame(notChild.getParent(), pLog); |
| assertNull(notChild.getResourceBundle()); |
| assertNull(notChild.getResourceBundleName()); |
| assertTrue(notChild.getUseParentHandlers()); |
| // verify two level root.parent |
| assertEquals("testGetLogger_WithParent_ParentLogger.child", child |
| .getName()); |
| assertSame(child.getParent().getParent(), root); |
| |
| |
| // create three level child |
| Logger childOfChild = Logger |
| .getLogger("testGetLogger_WithParent_ParentLogger.child.child"); |
| assertNull(childOfChild.getFilter()); |
| assertEquals(0, childOfChild.getHandlers().length); |
| assertSame(child.getParent().getParent(), root); |
| assertNull(childOfChild.getLevel()); |
| assertEquals("testGetLogger_WithParent_ParentLogger.child.child", |
| childOfChild.getName()); |
| |
| assertSame(childOfChild.getParent(), child); |
| assertSame(childOfChild.getParent().getParent(), pLog); |
| assertSame(childOfChild.getParent().getParent().getParent(), root); |
| assertNull(childOfChild.getResourceBundle()); |
| assertNull(childOfChild.getResourceBundleName()); |
| assertTrue(childOfChild.getUseParentHandlers()); |
| |
| // abnormal case : lookup to root parent in a hierarchy without a logger |
| // parent created between |
| assertEquals("testGetLogger_WithParent_ParentLogger1.child", notChild |
| .getName()); |
| assertSame(child.getParent().getParent(), root); |
| assertNotSame(child.getParent(), root); |
| |
| // abnormal cases |
| assertNotSame(root.getParent(), root); |
| Logger twoDot = Logger.getLogger(".."); |
| assertSame(twoDot.getParent(), root); |
| |
| } |
| |
| |
| /* |
| * Test getLogger(String, String), getting a logger with no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String), getting a logger with no parent.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_Normal() throws Exception { |
| // config the level |
| Properties p = new Properties(); |
| p.put("testGetLoggerWithRes_Normal_ANewLogger.level", "ALL"); |
| LogManager.getLogManager().readConfiguration( |
| EnvironmentHelper.PropertiesToInputStream(p)); |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_Normal_ANewLogger")); |
| // create a new logger |
| Logger log = Logger.getLogger("testGetLoggerWithRes_Normal_ANewLogger", |
| VALID_RESOURCE_BUNDLE); |
| // get an existing logger |
| assertSame(log, Logger |
| .getLogger("testGetLoggerWithRes_Normal_ANewLogger")); |
| // check it has been registered |
| assertSame(log, LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_Normal_ANewLogger")); |
| |
| assertNull(log.getFilter()); |
| assertEquals(0, log.getHandlers().length); |
| // check it's set to the preconfigured level |
| assertSame(Level.ALL, log.getLevel()); |
| assertEquals("testGetLoggerWithRes_Normal_ANewLogger", log.getName()); |
| assertNull(log.getParent().getParent()); |
| assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| assertTrue(log.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test getLogger(String, String) with null parameters. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with null parameters.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_Null() { |
| Logger.getLogger("testGetLoggerWithRes_Null_ANewLogger", null); |
| try { |
| Logger.getLogger(null, VALID_RESOURCE_BUNDLE); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| |
| /* |
| * Test getLogger(String, String) with invalid resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with invalid resource bundle.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_InvalidResourceBundle() { |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testMissingResourceException")); |
| |
| try { |
| Logger.getLogger("testMissingResourceException", |
| INVALID_RESOURCE_BUNDLE); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| // correct |
| } |
| assertNull(Logger.getLogger("testMissingResourceException") |
| .getResourceBundle()); |
| assertNull(Logger.getLogger("testMissingResourceException") |
| .getResourceBundleName()); |
| // try empty string |
| try { |
| Logger.getLogger("testMissingResourceException", ""); |
| fail("Should throw MissingResourceException!"); |
| } catch (MissingResourceException e) { |
| // correct |
| } |
| |
| assertNotNull(LogManager.getLogManager().getLogger("")); |
| // The root logger always exists TODO |
| try { |
| Logger.getLogger("", INVALID_RESOURCE_BUNDLE); |
| } catch (MissingResourceException e) { |
| //correct |
| } |
| } |
| |
| /* |
| * Test getLogger(String, String) with valid resource bundle, to get an |
| * existing logger with no associated resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with valid resource bundle, to get an existing logger with no associated resource bundle.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_ExistingLoggerWithNoRes() { |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger")); |
| // create a new logger |
| Logger log1 = Logger |
| .getLogger("testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger"); |
| // get an existing logger |
| Logger log2 = Logger.getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger", |
| VALID_RESOURCE_BUNDLE); |
| assertSame(log1, log2); |
| assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| |
| } |
| |
| /* |
| * Test getLogger(String, String) with valid resource bundle, to get an |
| * existing logger with the same associated resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with valid resource bundle, to get an existing logger with the same associated resource bundle.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_ExistingLoggerWithSameRes() { |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger")); |
| // create a new logger |
| Logger log1 = Logger.getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger", |
| VALID_RESOURCE_BUNDLE); |
| // get an existing logger |
| Logger log2 = Logger.getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger", |
| VALID_RESOURCE_BUNDLE); |
| assertSame(log1, log2); |
| assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| } |
| |
| /* |
| * Test getLogger(String, String) with valid resource bundle, to get an |
| * existing logger with different associated resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with valid resource bundle, to get an existing logger with different associated resource bundle.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_ExistingLoggerWithDiffRes() { |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger")); |
| // create a new logger |
| Logger log1 = Logger.getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger", |
| VALID_RESOURCE_BUNDLE); |
| assertNotNull(log1); |
| // get an existing logger |
| try { |
| Logger |
| .getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger", |
| VALID_RESOURCE_BUNDLE2); |
| fail("Should throw IllegalArgumentException!"); |
| } catch (IllegalArgumentException e) { |
| } |
| |
| try { |
| Logger |
| .getLogger( |
| "testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger", |
| null); |
| fail("Should throw IllegalArgumentException!"); |
| } catch (IllegalArgumentException e) { |
| } |
| } |
| |
| /* |
| * Test getLogger(String, String) with invalid name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with invalid name.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_InvalidName() { |
| Logger log = Logger.getLogger( |
| "...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|WithRes", |
| VALID_RESOURCE_BUNDLE); |
| assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|WithRes", log |
| .getName()); |
| } |
| |
| /* |
| * Test getLogger(String, String) with empty name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String) with empty name.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| @SideEffect("Attaches ResourceBundle to anonymous logger; irreversible") |
| public void testGetLoggerWithRes_Empty() { |
| Logger log = Logger.getLogger("", VALID_RESOURCE_BUNDLE); |
| assertSame(log, LogManager.getLogManager().getLogger("")); |
| assertNull(log.getFilter()); |
| assertEquals(0, log.getHandlers().length); |
| // check it's set to the preconfigured level |
| assertSame(Level.INFO, log.getLevel()); |
| assertEquals("", log.getName()); |
| assertNull(log.getParent()); |
| assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| assertTrue(log.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test getLogger(String, String), getting a logger with existing parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getLogger(String, String), getting a logger with existing parent.", |
| method = "getLogger", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testGetLoggerWithRes_WithParentNormal() { |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_WithParent_ParentLogger")); |
| // create the parent logger |
| Logger pLog = Logger |
| .getLogger("testGetLoggerWithRes_WithParent_ParentLogger"); |
| pLog.setLevel(Level.CONFIG); |
| pLog.addHandler(new MockHandler()); |
| pLog.setFilter(new MockFilter()); |
| pLog.setUseParentHandlers(false); |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLoggerWithRes_WithParent_ParentLogger.child")); |
| // create the child logger |
| Logger log = Logger.getLogger( |
| "testGetLoggerWithRes_WithParent_ParentLogger.child", |
| VALID_RESOURCE_BUNDLE); |
| assertNull(log.getFilter()); |
| assertEquals(0, log.getHandlers().length); |
| assertNull(log.getLevel()); |
| assertEquals("testGetLoggerWithRes_WithParent_ParentLogger.child", log |
| .getName()); |
| assertSame(log.getParent(), pLog); |
| assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY)); |
| assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE); |
| assertTrue(log.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test addHandler(Handler) for a named logger with sufficient privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_NamedLoggerSufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testAddHandler_NamedLoggerSufficientPrivilege"); |
| MockHandler h = new MockHandler(); |
| assertEquals(log.getHandlers().length, 0); |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| |
| } |
| |
| /* |
| * Test addHandler(Handler) for a named logger with sufficient privilege, |
| * add duplicate handlers. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_NamedLoggerSufficientPrivilegeDuplicate() { |
| Logger log = Logger |
| .getLogger("testAddHandler_NamedLoggerSufficientPrivilegeDuplicate"); |
| MockHandler h = new MockHandler(); |
| assertEquals(log.getHandlers().length, 0); |
| for (int i = 0; i < 12; i++) { |
| log.addHandler(h); |
| } |
| assertEquals(log.getHandlers().length, 12); |
| assertSame(log.getHandlers()[0], h); |
| assertSame(log.getHandlers()[5], h); |
| assertSame(log.getHandlers()[11], h); |
| } |
| |
| /* |
| * Test addHandler(Handler) with a null handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies NullPointerException.", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_Null() { |
| Logger log = Logger.getLogger("testAddHandler_Null"); |
| try { |
| log.addHandler(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test addHandler(Handler) for a named logger with insufficient privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_NamedLoggerInsufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testAddHandler_NamedLoggerInsufficientPrivilege"); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| |
| try { |
| log.addHandler(h); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test addHandler(Handler) for a named logger with insufficient privilege, |
| * using a null handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_NamedLoggerInsufficientPrivilegeNull() { |
| Logger log = Logger |
| .getLogger("testAddHandler_NamedLoggerInsufficientPrivilege"); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| |
| try { |
| log.addHandler(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test addHandler(Handler) for an anonymous logger with sufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_AnonyLoggerSufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| MockHandler h = new MockHandler(); |
| assertEquals(log.getHandlers().length, 0); |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| assertSame(log.getHandlers()[0], h); |
| } |
| |
| /* |
| * Test addHandler(Handler) for an anonymous logger with insufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| assertEquals(log.getHandlers().length, 0); |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| assertSame(log.getHandlers()[0], h); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test addHandler(Handler) for a null-named mock logger with insufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies addHandler(Handler) for a null-named mock logger with insufficient privilege, SecurityException.", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testAddHandler_NullNamedMockLoggerInsufficientPrivilege() { |
| MockLogger mlog = new MockLogger(null, null); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| mlog.addHandler(h); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test removeHandler(Handler) for a named logger with sufficient privilege, |
| * remove an existing handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "addHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_NamedLoggerSufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testRemoveHandler_NamedLoggerSufficientPrivilege"); |
| MockHandler h = new MockHandler(); |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| log.removeHandler(h); |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test removeHandler(Handler) for a named logger with sufficient privilege, |
| * remove a non-existing handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_NamedLoggerSufficientPrivilegeNotExisting() { |
| Logger log = Logger |
| .getLogger("testRemoveHandler_NamedLoggerSufficientPrivilegeNotExisting"); |
| MockHandler h = new MockHandler(); |
| assertEquals(log.getHandlers().length, 0); |
| log.removeHandler(h); |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test removeHandler(Handler) with a null handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_Null() { |
| Logger log = Logger.getLogger("testRemoveHandler_Null"); |
| log.removeHandler(null); |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test removeHandler(Handler) for a named logger with insufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_NamedLoggerInsufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testRemoveHandler_NamedLoggerInsufficientPrivilege"); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| |
| try { |
| log.removeHandler(h); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test removeHandler(Handler) for a named logger with insufficient |
| * privilege, using a null handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_NamedLoggerInsufficientPrivilegeNull() { |
| Logger log = Logger |
| .getLogger("testRemoveHandler_NamedLoggerInsufficientPrivilege"); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| |
| try { |
| log.removeHandler(null); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test removeHandler(Handler) for an anonymous logger with sufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_AnonyLoggerSufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| MockHandler h = new MockHandler(); |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| log.removeHandler(h); |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test removeHandler(Handler) for an anonymous logger with insufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.addHandler(h); |
| assertEquals(log.getHandlers().length, 1); |
| log.removeHandler(h); |
| assertEquals(log.getHandlers().length, 0); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test removeHandler(Handler) for a null-named mock logger with |
| * insufficient privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "removeHandler", |
| args = {java.util.logging.Handler.class} |
| ) |
| public void testRemoveHandler_NullNamedMockLoggerInsufficientPrivilege() { |
| MockLogger mlog = new MockLogger(null, null); |
| MockHandler h = new MockHandler(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| mlog.removeHandler(h); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test getHandlers() when there's no handler. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getHandlers() when there's no handler.", |
| method = "getHandlers", |
| args = {} |
| ) |
| public void testGetHandlers_None() { |
| Logger log = Logger.getLogger("testGetHandlers_None"); |
| assertEquals(log.getHandlers().length, 0); |
| } |
| |
| /* |
| * Test getHandlers() when there are several handlers. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getHandlers() when there are several handlers.", |
| method = "getHandlers", |
| args = {} |
| ) |
| public void testGetHandlers_Several() { |
| Logger log = Logger.getLogger("testGetHandlers_None"); |
| assertEquals(log.getHandlers().length, 0); |
| MockHandler h1 = new MockHandler(); |
| MockHandler h2 = new MockHandler(); |
| MockHandler h3 = new MockHandler(); |
| log.addHandler(h1); |
| log.addHandler(h2); |
| log.addHandler(h3); |
| assertEquals(log.getHandlers().length, 3); |
| assertSame(log.getHandlers()[0], h1); |
| assertSame(log.getHandlers()[1], h2); |
| assertSame(log.getHandlers()[2], h3); |
| // remove one |
| log.removeHandler(h2); |
| assertEquals(log.getHandlers().length, 2); |
| assertSame(log.getHandlers()[0], h1); |
| assertSame(log.getHandlers()[1], h3); |
| |
| } |
| |
| /* |
| * Test getFilter & setFilter with normal value for a named logger, having |
| * sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getFilter & setFilter with normal value for a named logger, having sufficient privilege.", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getFilter & setFilter with normal value for a named logger, having sufficient privilege.", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testGetSetFilter_NamedLoggerSufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetFilter_NamedLoggerSufficientPrivilege"); |
| Filter f = new MockFilter(); |
| |
| assertNull(log.getFilter()); |
| log.setFilter(f); |
| assertSame(f, log.getFilter()); |
| } |
| |
| /* |
| * Test getFilter & setFilter with null value, having sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getFilter & setFilter with null value, having sufficient privilege.", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getFilter & setFilter with null value, having sufficient privilege.", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testGetSetFilter_Null() { |
| Logger log = Logger.getLogger("testGetSetFilter_Null"); |
| |
| assertNull(log.getFilter()); |
| log.setFilter(null); |
| assertNull(log.getFilter()); |
| log.setFilter(new MockFilter()); |
| log.setFilter(null); |
| assertNull(log.getFilter()); |
| } |
| |
| /* |
| * Test setFilter with normal value for a named logger, having insufficient |
| * privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies setFilter with normal value for a named logger, having insufficient privilege.", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies setFilter with normal value for a named logger, having insufficient privilege.", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testGetSetFilter_NamedLoggerInsufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetFilter_NamedLoggerInsufficientPrivilege"); |
| Filter f = new MockFilter(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setFilter(f); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setFilter for an anonymous logger with sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testSetFilter_AnonyLoggerSufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| Filter f = new MockFilter(); |
| assertNull(log.getFilter()); |
| log.setFilter(f); |
| assertSame(f, log.getFilter()); |
| } |
| |
| /* |
| * Test setFilter for an anonymous logger with insufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testSetFilter_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| Filter f = new MockFilter(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| assertNull(log.getFilter()); |
| log.setFilter(f); |
| assertSame(f, log.getFilter()); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setFilter for a null-named mock logger with insufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getFilter", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setFilter", |
| args = {java.util.logging.Filter.class} |
| ) |
| }) |
| public void testSetFilter_NullNamedMockLoggerInsufficientPrivilege() { |
| MockLogger mlog = new MockLogger(null, null); |
| Filter f = new MockFilter(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| mlog.setFilter(f); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test getLevel & setLevel with normal value for a named logger, having |
| * sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getLevel & setLevel with normal value for a named logger, having sufficient privilege.", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getLevel & setLevel with normal value for a named logger, having sufficient privilege.", |
| method = "getLevel", |
| args = {} |
| ) |
| }) |
| public void testGetSetLevel_NamedLoggerSufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetLevel_NamedLoggerSufficientPrivilege"); |
| |
| assertNull(log.getLevel()); |
| log.setLevel(Level.CONFIG); |
| assertSame(Level.CONFIG, log.getLevel()); |
| } |
| |
| /* |
| * Test getLevel & setLevel with null value, having sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getLevel & setLevel with null value, having sufficient privilege.", |
| method = "getLevel", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies getLevel & setLevel with null value, having sufficient privilege.", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ) |
| }) |
| public void testGetSetLevel_Null() { |
| Logger log = Logger.getLogger("testGetSetLevel_Null"); |
| |
| assertNull(log.getLevel()); |
| log.setLevel(null); |
| assertNull(log.getLevel()); |
| log.setLevel(Level.CONFIG); |
| log.setLevel(null); |
| assertNull(log.getLevel()); |
| } |
| |
| /* |
| * Test setLevel with normal value for a named logger, having insufficient |
| * privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies setLevel with normal value for a named logger, having insufficient privilege.", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ), |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Verifies setLevel with normal value for a named logger, having insufficient privilege.", |
| method = "getLevel", |
| args = {} |
| ) |
| }) |
| public void testGetSetLevel_NamedLoggerInsufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetLevel_NamedLoggerInsufficientPrivilege"); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setLevel(Level.CONFIG); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setLevel for an anonymous logger with sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getLevel", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ) |
| }) |
| public void testSetLevel_AnonyLoggerSufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| assertNull(log.getLevel()); |
| log.setLevel(Level.CONFIG); |
| assertSame(Level.CONFIG, log.getLevel()); |
| } |
| |
| /* |
| * Test setLevel for an anonymous logger with insufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getLevel", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ) |
| }) |
| public void testSetLevel_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| assertNull(log.getLevel()); |
| log.setLevel(Level.CONFIG); |
| assertSame(Level.CONFIG, log.getLevel()); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setLevel for a null-named mock logger with insufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getLevel", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setLevel", |
| args = {java.util.logging.Level.class} |
| ) |
| }) |
| public void testSetLevel_NullNamedMockLoggerInsufficientPrivilege() { |
| MockLogger mlog = new MockLogger(null, null); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| mlog.setLevel(Level.CONFIG); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test getUseParentHandlers & setUseParentHandlers with normal value for a |
| * named logger, having sufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getUseParentHandlers", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setUseParentHandlers", |
| args = {boolean.class} |
| ) |
| }) |
| public void testGetSetUseParentHandlers_NamedLoggerSufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetUseParentHandlers_NamedLoggerSufficientPrivilege"); |
| |
| assertTrue(log.getUseParentHandlers()); |
| log.setUseParentHandlers(false); |
| assertFalse(log.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test setUseParentHandlers with normal value for a named logger, having |
| * insufficient privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getUseParentHandlers", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setUseParentHandlers", |
| args = {boolean.class} |
| ) |
| }) |
| public void testGetSetUseParentHandlers_NamedLoggerInsufficientPrivilege() { |
| Logger log = Logger |
| .getLogger("testGetSetUseParentHandlers_NamedLoggerInsufficientPrivilege"); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setUseParentHandlers(true); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setUseParentHandlers for an anonymous logger with sufficient |
| * privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getUseParentHandlers", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setUseParentHandlers", |
| args = {boolean.class} |
| ) |
| }) |
| public void testSetUseParentHandlers_AnonyLoggerSufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| assertTrue(log.getUseParentHandlers()); |
| log.setUseParentHandlers(false); |
| assertFalse(log.getUseParentHandlers()); |
| } |
| |
| /* |
| * Test setUseParentHandlers for an anonymous logger with insufficient |
| * privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getUseParentHandlers", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setUseParentHandlers", |
| args = {boolean.class} |
| ) |
| }) |
| public void testSetUseParentHandlers_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| assertTrue(log.getUseParentHandlers()); |
| log.setUseParentHandlers(false); |
| assertFalse(log.getUseParentHandlers()); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setUseParentHandlers for a null-named mock logger with insufficient |
| * privilege. |
| */ |
| @TestTargets({ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getUseParentHandlers", |
| args = {} |
| ), |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setUseParentHandlers", |
| args = {boolean.class} |
| ) |
| }) |
| public void testSetUseParentHandlers_NullNamedMockLoggerInsufficientPrivilege() { |
| MockLogger mlog = new MockLogger(null, null); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| mlog.setUseParentHandlers(true); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test getParent() for root logger. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getParent() for root logger.", |
| method = "getParent", |
| args = {} |
| ) |
| public void testGetParent_Root() { |
| assertNull(Logger.getLogger("").getParent()); |
| } |
| |
| /* |
| * Test getParent() for normal named loggers. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getParent() for normal named loggers.", |
| method = "getParent", |
| args = {} |
| ) |
| public void testGetParent_NormalNamed() { |
| Logger log = Logger.getLogger("testGetParent_NormalNamed"); |
| assertSame(log.getParent(), Logger.getLogger("")); |
| Logger child = Logger.getLogger("testGetParent_NormalNamed.child"); |
| assertSame(child.getParent(), log); |
| Logger child2 = Logger.getLogger("testGetParent_NormalNamed.a.b.c"); |
| assertSame(child2.getParent(), log); |
| } |
| |
| /* |
| * Test getParent() for anonymous loggers. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getParent() for anonymous loggers.", |
| method = "getParent", |
| args = {} |
| ) |
| public void testGetParent_Anonymous() { |
| assertSame(Logger.getAnonymousLogger().getParent(), Logger |
| .getLogger("")); |
| } |
| |
| /* |
| * Test setParent(Logger) for the mock logger since it is advised not to |
| * call this method on named loggers. Test normal conditions. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setParent", |
| args = {java.util.logging.Logger.class} |
| ) |
| public void testSetParent_Normal() { |
| Logger log = new MockLogger(null, null); |
| Logger parent = new MockLogger(null, null); |
| assertNull(log.getParent()); |
| log.setParent(parent); |
| assertSame(log.getParent(), parent); |
| } |
| |
| /* |
| * Test setParent(Logger) with null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setParent", |
| args = {java.util.logging.Logger.class} |
| ) |
| public void testSetParent_Null() { |
| try { |
| (new MockLogger(null, null)).setParent(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test setParent(Logger), having insufficient privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setParent", |
| args = {java.util.logging.Logger.class} |
| ) |
| public void testSetParent_InsufficientPrivilege() { |
| MockLogger log = new MockLogger(null, null); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setParent(log); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setParent(Logger) with null, having insufficient privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setParent", |
| args = {java.util.logging.Logger.class} |
| ) |
| public void testSetParent_InsufficientPrivilegeNull() { |
| MockLogger log = new MockLogger(null, null); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setParent(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test setParent(Logger) for an anonymous logger with insufficient |
| * privilege. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "setParent", |
| args = {java.util.logging.Logger.class} |
| ) |
| public void testSetParent_AnonyLoggerInsufficientPrivilege() { |
| Logger log = Logger.getAnonymousLogger(); |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| log.setParent(log); |
| fail("Should throw SecurityException!"); |
| } catch (SecurityException e) { |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| /* |
| * Test getName() for normal names. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getName() for normal names.", |
| method = "getName", |
| args = {} |
| ) |
| public void testGetName_Normal() { |
| Logger log = Logger.getLogger("testGetName_Normal"); |
| assertEquals("testGetName_Normal", log.getName()); |
| |
| Logger mlog = new MockLogger("testGetName_Normal", null); |
| assertEquals("testGetName_Normal", mlog.getName()); |
| } |
| |
| /* |
| * Test getName() for empty name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getName() for empty name.", |
| method = "getName", |
| args = {} |
| ) |
| public void testGetName_Empty() { |
| Logger log = Logger.getLogger(""); |
| assertEquals("", log.getName()); |
| |
| Logger mlog = new MockLogger("", null); |
| assertEquals("", mlog.getName()); |
| } |
| |
| /* |
| * Test getName() for null name. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getName() for null name.", |
| method = "getName", |
| args = {} |
| ) |
| public void testGetName_Null() { |
| Logger log = Logger.getAnonymousLogger(); |
| assertNull(log.getName()); |
| |
| Logger mlog = new MockLogger(null, null); |
| assertNull(mlog.getName()); |
| } |
| |
| /* |
| * Test getResourceBundle() when it it not null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getResourceBundle() when it it not null.", |
| method = "getResourceBundle", |
| args = {} |
| ) |
| public void testGetResourceBundle_Normal() { |
| Logger log = Logger.getLogger("testGetResourceBundle_Normal", |
| VALID_RESOURCE_BUNDLE); |
| assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY)); |
| |
| Logger mlog = new MockLogger(null, VALID_RESOURCE_BUNDLE); |
| assertEquals(VALID_VALUE, mlog.getResourceBundle().getString(VALID_KEY)); |
| } |
| |
| /* |
| * Test getResourceBundle() when it it null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getResourceBundle() when it it null.", |
| method = "getResourceBundle", |
| args = {} |
| ) |
| public void testGetResourceBundle_Null() { |
| Logger log = Logger.getLogger("testGetResourceBundle_Null", null); |
| assertNull(log.getResourceBundle()); |
| |
| Logger mlog = new MockLogger(null, null); |
| assertNull(mlog.getResourceBundle()); |
| } |
| |
| |
| /* |
| * Test getResourceBundleName() when it it not null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getResourceBundleName() when it it not null.", |
| method = "getResourceBundleName", |
| args = {} |
| ) |
| public void testGetResourceBundleName_Normal() { |
| Logger log = Logger.getLogger("testGetResourceBundleName_Normal", |
| VALID_RESOURCE_BUNDLE); |
| assertEquals(VALID_RESOURCE_BUNDLE, log.getResourceBundleName()); |
| |
| Logger mlog = new MockLogger(null, null); |
| assertNull(mlog.getResourceBundleName()); |
| } |
| |
| /* |
| * Test getResourceBundleName() when it it null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies getResourceBundleName() when it it null.", |
| method = "getResourceBundleName", |
| args = {} |
| ) |
| public void testGetResourceBundleName_Null() { |
| Logger log = Logger.getLogger("testGetResourceBundleName_Null", null); |
| assertNull(log.getResourceBundleName()); |
| |
| Logger mlog = new MockLogger(null, null); |
| assertNull(mlog.getResourceBundleName()); |
| } |
| |
| |
| /* |
| * Test isLoggable(Level). |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "isLoggable", |
| args = {java.util.logging.Level.class} |
| ) |
| public void testIsLoggable() { |
| MockLogger mlog = new MockLogger(null, null); |
| assertNull(mlog.getLevel()); |
| assertNull(mlog.getParent()); |
| |
| assertTrue(mlog.isLoggable(Level.SEVERE)); |
| assertTrue(mlog.isLoggable(Level.WARNING)); |
| assertTrue(mlog.isLoggable(Level.INFO)); |
| assertFalse(mlog.isLoggable(Level.CONFIG)); |
| assertFalse(mlog.isLoggable(Level.FINE)); |
| assertFalse(mlog.isLoggable(Level.ALL)); |
| assertTrue(mlog.isLoggable(Level.OFF)); |
| |
| mlog.setLevel(Level.CONFIG); |
| assertTrue(mlog.isLoggable(Level.SEVERE)); |
| assertTrue(mlog.isLoggable(Level.CONFIG)); |
| assertFalse(mlog.isLoggable(Level.ALL)); |
| assertTrue(mlog.isLoggable(Level.OFF)); |
| |
| mlog.setLevel(Level.ALL); |
| assertTrue(mlog.isLoggable(Level.ALL)); |
| assertTrue(mlog.isLoggable(Level.SEVERE)); |
| assertTrue(mlog.isLoggable(Level.OFF)); |
| |
| mlog.setLevel(Level.OFF); |
| assertFalse(mlog.isLoggable(Level.ALL)); |
| assertFalse(mlog.isLoggable(Level.SEVERE)); |
| assertFalse(mlog.isLoggable(Level.OFF)); |
| } |
| |
| /* |
| * Test throwing(String, String, Throwable) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "throwing", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testThrowing_Normal() { |
| Throwable t = new Throwable(); |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.throwing("sourceClass", "sourceMethod", t); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "THROW"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters(), null); |
| assertSame(r.getThrown(), t); |
| |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.throwing("sourceClass", "sourceMethod", t); |
| |
| // FINE is a level too low, message will be lost => empty |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test throwing(String, String, Throwable) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "throwing", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testThrowing_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.throwing(null, null, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "THROW"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters(), null); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test entering(String, String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String) with normal values.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testEntering_StringString_Normal() { |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.entering("sourceClass", "sourceMethod"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "ENTRY"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters(), null); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.entering("sourceClass", "sourceMethod"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test entering(String, String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String) with null values.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testEntering_StringString_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.entering(null, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "ENTRY"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters(), null); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test entering(String, String, Object) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object) with normal values.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testEntering_StringStringObject_Normal() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.entering("sourceClass", "sourceMethod", param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "ENTRY {0}"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters()[0], param); |
| assertEquals(1, r.getParameters().length); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.entering("sourceClass", "sourceMethod", param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test entering(String, String, Object) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object) with null values.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testEntering_StringStringObject_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.entering(null, null, (Object) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "ENTRY {0}"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertEquals(r.getParameters().length, 1); |
| assertNull(r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test entering(String, String, Object[]) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object[]) with normal values.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testEntering_StringStringObjects_Normal() { |
| Object[] params = new Object[2]; |
| params[0] = new Object(); |
| params[1] = new Object(); |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.entering("sourceClass", "sourceMethod", params); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "ENTRY {0} {1}"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters()[0], params[0]); |
| assertSame(r.getParameters()[1], params[1]); |
| assertEquals(2, r.getParameters().length); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.entering("sourceClass", "sourceMethod", params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test entering(String, String, Object[]) with null class name and method |
| * name and empty parameter array. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object[]) with null class name and method name and empty parameter array.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testEntering_StringStringObjects_NullEmpty() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.entering(null, null, new Object[0]); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "ENTRY"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertEquals(0, r.getParameters().length); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test entering(String, String, Object[]) with null values with appropriate |
| * logging level set. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object[]) with null values with appropriate logging level set.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testEntering_StringStringObjects_Null() { |
| sharedLogger.setLevel(Level.FINER); |
| sharedLogger.entering(null, null, (Object[]) null); |
| // regression test for Harmony-1265 |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(sharedLogger.getName(), r.getLoggerName()); |
| assertEquals("ENTRY", r.getMessage()); |
| assertSame(sharedLogger.getResourceBundleName(), r |
| .getResourceBundleName()); |
| assertSame(sharedLogger.getResourceBundle(), r.getResourceBundle()); |
| assertNull(r.getSourceClassName()); |
| assertNull(r.getSourceMethodName()); |
| assertSame(Level.FINER, r.getLevel()); |
| assertNull(r.getParameters()); |
| assertNull(r.getThrown()); |
| } |
| |
| /* |
| * Test entering(String, String, Object[]) with null values with |
| * inappropriate logging level set. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies entering(String, String, Object[]) with null values with inappropriate logging level set.", |
| method = "entering", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testEntering_StringStringObjects_NullDisabled() { |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.entering(null, null, (Object[]) null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test exiting(String, String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies exiting(String, String) with normal values.", |
| method = "exiting", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testExiting_StringString_Normal() { |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.exiting("sourceClass", "sourceMethod"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "RETURN"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.exiting("sourceClass", "sourceMethod"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test exiting(String, String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies exiting(String, String) with null values.", |
| method = "exiting", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testExiting_StringString_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.exiting(null, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "RETURN"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters(), null); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test exiting(String, String, Object) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies exiting(String, String, Object) with normal values.", |
| method = "exiting", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testExiting_StringStringObject_Normal() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.exiting("sourceClass", "sourceMethod", param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "RETURN {0}"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.FINER); |
| assertSame(r.getParameters()[0], param); |
| assertEquals(1, r.getParameters().length); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.exiting("sourceClass", "sourceMethod", param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test exiting(String, String, Object) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies exiting(String, String, Object) with null values.", |
| method = "exiting", |
| args = {java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testExiting_StringStringObject_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.exiting(null, null, (Object) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertEquals(r.getMessage(), "RETURN {0}"); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertEquals(r.getParameters().length, 1); |
| assertNull(r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test config(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "config", |
| args = {java.lang.String.class} |
| ) |
| public void testConfig_Normal() { |
| this.sharedLogger.setLevel(Level.CONFIG); |
| this.sharedLogger.config("config msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "config msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.CONFIG); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.config("config again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test config(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies null as a parameter.", |
| method = "config", |
| args = {java.lang.String.class} |
| ) |
| public void testConfig_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.CONFIG); |
| child.config(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.CONFIG); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.config(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test fine(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "fine", |
| args = {java.lang.String.class} |
| ) |
| public void testFine_Normal() { |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.fine("fine msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertEquals(r.getMessage(), "fine msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.CONFIG); |
| this.sharedLogger.fine("fine again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test fine(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies fine(String) with null values.", |
| method = "fine", |
| args = {java.lang.String.class} |
| ) |
| public void testFine_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINE); |
| child.fine(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.CONFIG); |
| this.sharedLogger.fine(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test finer(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies finer(String) with normal values.", |
| method = "finer", |
| args = {java.lang.String.class} |
| ) |
| public void testFiner_Normal() { |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.finer("finer msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "finer msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.finer("finer again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test finer(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies finer(String) with null values.", |
| method = "finer", |
| args = {java.lang.String.class} |
| ) |
| public void testFiner_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINER); |
| child.finer(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINER); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINE); |
| this.sharedLogger.finer(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test finest(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies finest(String) with normal values.", |
| method = "finest", |
| args = {java.lang.String.class} |
| ) |
| public void testFinest_Normal() { |
| this.sharedLogger.setLevel(Level.FINEST); |
| this.sharedLogger.finest("finest msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "finest msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINEST); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.finest("finest again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test finest(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Verifies finest(String) with null values.", |
| method = "finest", |
| args = {java.lang.String.class} |
| ) |
| public void testFinest_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.FINEST); |
| child.finest(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINEST); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.FINER); |
| this.sharedLogger.finest(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test info(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "info", |
| args = {java.lang.String.class} |
| ) |
| public void testInfo_Normal() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.info("info msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "info msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.WARNING); |
| this.sharedLogger.info("info again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test info(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "info", |
| args = {java.lang.String.class} |
| ) |
| public void testInfo_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.info(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.WARNING); |
| this.sharedLogger.info(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test warning(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "warning", |
| args = {java.lang.String.class} |
| ) |
| public void testWarning_Normal() { |
| this.sharedLogger.setLevel(Level.WARNING); |
| this.sharedLogger.warning("warning msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "warning msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.WARNING); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.SEVERE); |
| this.sharedLogger.warning("warning again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test warning(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "warning", |
| args = {java.lang.String.class} |
| ) |
| public void testWarning_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.WARNING); |
| child.warning(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.WARNING); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.SEVERE); |
| this.sharedLogger.warning(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test severe(String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "severe", |
| args = {java.lang.String.class} |
| ) |
| public void testSevere_Normal() { |
| this.sharedLogger.setLevel(Level.SEVERE); |
| this.sharedLogger.severe("severe msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "severe msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.SEVERE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.severe("severe again"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test severe(String) with null values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "severe", |
| args = {java.lang.String.class} |
| ) |
| public void testSevere_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.SEVERE); |
| child.severe(null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.SEVERE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.severe(null); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(Level, String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class} |
| ) |
| public void testLog_LevelString_Normal() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.log(Level.INFO, "log(Level, String) msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "log(Level, String) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.log(Level.CONFIG, "log(Level, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.log(Level.OFF, "log(Level, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(Level, String) with null message. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class} |
| ) |
| public void testLog_LevelString_NullMsg() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.log(Level.INFO, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(Level, String) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class} |
| ) |
| public void testLog_LevelString_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.log(null, "log(Level, String) msg"); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test log(Level, String, Object) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLog_LevelStringObject_Normal() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.log(Level.INFO, "log(Level, String, Object) msg", |
| param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "log(Level, String, Object) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertSame(param, r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.log(Level.CONFIG, "log(Level, String, Object) msg", |
| param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.log(Level.OFF, "log(Level, String, Object) msg", |
| param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(Level, String, Object) with null message and object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLog_LevelStringObject_NullMsgObj() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.log(Level.INFO, null, (Object) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertNull(r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(Level, String, Object) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLog_LevelStringObject_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.log(null, "log(Level, String, Object) msg", |
| new Object()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test log(Level, String, Object[]) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| |
| public void testLog_LevelStringObjects_Normal() { |
| Object[] params = new Object[2]; |
| params[0] = new Object(); |
| params[1] = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.log(Level.INFO, "log(Level, String, Object[]) msg", |
| params); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "log(Level, String, Object[]) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(2, r.getParameters().length); |
| assertSame(params[0], r.getParameters()[0]); |
| assertSame(params[1], r.getParameters()[1]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.log(Level.CONFIG, "log(Level, String, Object[]) msg", |
| params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.log(Level.OFF, "log(Level, String, Object[]) msg", |
| params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(Level, String, Object[]) with null message and object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLog_LevelStringObjects_NullMsgObj() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.log(Level.INFO, null, (Object[]) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(Level, String, Object[]) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLog_LevelStringObjects_NullLevel() { |
| try { |
| this.sharedLogger.log(null, "log(Level, String, Object[]) msg", |
| new Object[0]); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test log(Level, String, Throwable) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLog_LevelStringThrowable_Normal() { |
| Throwable t = new Throwable(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.log(Level.INFO, "log(Level, String, Throwable) msg", |
| t); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "log(Level, String, Throwable) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), t); |
| |
| this.sharedLogger.log(Level.CONFIG, |
| "log(Level, String, Throwable) msg", t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger |
| .log(Level.OFF, "log(Level, String, Throwable) msg", t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(Level, String, Throwable) with null message and throwable. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLog_LevelStringThrowable_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.log(Level.INFO, null, (Throwable) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(Level, String, Throwable) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLog_LevelStringThrowable_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.log(null, "log(Level, String, Throwable) msg", |
| new Throwable()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logp(Level, String, String, String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogp_LevelStringStringString_Normal() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String) msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), "logp(Level, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String) with null message. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogp_LevelStringStringString_NullMsg() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.logp(Level.INFO, null, null, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogp_LevelStringStringString_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logp(null, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String) msg"); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogp_LevelStringStringStringObject_Normal() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object) msg", param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logp(Level, String, String, String, Object) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertSame(param, r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object) msg", param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object) msg", param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object) with null message and |
| * object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogp_LevelStringStringStringObject_NullMsgObj() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.logp(Level.INFO, null, null, null, (Object) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertNull(r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| |
| public void testLogp_LevelStringStringStringObject_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logp(null, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object) msg", |
| new Object()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object[]) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| |
| public void testLogp_LevelStringStringStringObjects_Normal() { |
| Object[] params = new Object[2]; |
| params[0] = new Object(); |
| params[1] = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object[]) msg", params); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logp(Level, String, String, String, Object[]) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(2, r.getParameters().length); |
| assertSame(params[0], r.getParameters()[0]); |
| assertSame(params[1], r.getParameters()[1]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object[]) msg", params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object[]) msg", params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object[]) with null message and |
| * object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogp_LevelStringStringStringObjects_NullMsgObj() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.logp(Level.INFO, null, null, null, (Object[]) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Object[]) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogp_LevelStringStringStringObjects_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logp(null, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Object[]) msg", |
| new Object[0]); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Throwable) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogp_LevelStringStringStringThrowable_Normal() { |
| Throwable t = new Throwable(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Throwable) msg", t); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logp(Level, String, String, String, Throwable) msg"); |
| assertSame(r.getResourceBundleName(), this.sharedLogger |
| .getResourceBundleName()); |
| assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle()); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), t); |
| |
| this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Throwable) msg", t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod", |
| "logp(Level, String, String, String, Throwable) msg", t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Throwable) with null message and |
| * throwable. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogp_LevelStringStringStringThrowable_Null() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| |
| child.setLevel(Level.INFO); |
| child.logp(Level.INFO, null, null, null, (Throwable) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), child.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), parent.getResourceBundleName()); |
| assertSame(r.getResourceBundle(), parent.getResourceBundle()); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logp(Level, String, String, String, Throwable) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logp", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogp_LevelStringStringStringThrowable_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logp(null, "sourceClass", "sourceMethod", |
| "log(Level, String, String, String, Throwable) msg", |
| new Throwable()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String) with normal values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogrb_LevelStringStringString_Normal() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String) msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2); |
| assertEquals(VALID_VALUE2, r.getResourceBundle().getString(VALID_KEY)); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String) msg"); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String) with null message. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogrb_LevelStringStringString_NullMsg() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, null, null, null, null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String) with null level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogrb_LevelStringStringString_NullLevel() { |
| try { |
| this.sharedLogger.logrb(null, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String) msg"); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String) with invalid resource |
| * bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void testLogrb_LevelStringStringString_InvalidRes() { |
| this.sharedLogger.setLevel(Level.ALL); |
| this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod", |
| INVALID_RESOURCE_BUNDLE, |
| "logrb(Level, String, String, String, String) msg"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE); |
| assertSame(r.getResourceBundle(), null); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.ALL); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object) with normal |
| * values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogrb_LevelStringStringStringObject_Normal() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object) msg", |
| param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String, Object) msg"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertSame(param, r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object) msg", |
| param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object) msg", |
| param); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object) with null |
| * message and object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogrb_LevelStringStringStringObject_NullMsgObj() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, null, null, null, null, |
| (Object) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(1, r.getParameters().length); |
| assertNull(r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /** |
| * java.util.logging.Logger#logrb(Level, String, String, String, String, |
| * Object) |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Regression test.", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class} |
| ) |
| public void test_logrbLLevel_LString_LString_LObject_Security() |
| throws Exception { |
| // regression test for Harmony-1290 |
| SecurityManager originalSecurityManager = System.getSecurityManager(); |
| try { |
| System.setSecurityManager(new MockSecurityManager()); |
| Logger.global.logrb(Level.OFF, null, null, "abc", "def"); |
| } finally { |
| System.setSecurityManager(originalSecurityManager); |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object) with null |
| * level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogrb_LevelStringStringStringObject_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logrb(null, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object) msg", |
| new Object()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object) with invalid |
| * resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class} |
| ) |
| public void testLogrb_LevelStringStringStringObject_InvalidRes() { |
| Object param = new Object(); |
| this.sharedLogger.setLevel(Level.ALL); |
| this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod", |
| INVALID_RESOURCE_BUNDLE, |
| "logrb(Level, String, String, String, String) msg", param); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE); |
| assertSame(r.getResourceBundle(), null); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.ALL); |
| assertEquals(1, r.getParameters().length); |
| assertSame(param, r.getParameters()[0]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object[]) with normal |
| * values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogrb_LevelStringStringStringObjects_Normal() { |
| Object[] params = new Object[2]; |
| params[0] = new Object(); |
| params[1] = new Object(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object[]) msg", |
| params); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String, Object[]) msg"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.INFO); |
| assertEquals(2, r.getParameters().length); |
| assertSame(params[0], r.getParameters()[0]); |
| assertSame(params[1], r.getParameters()[1]); |
| assertSame(r.getThrown(), null); |
| |
| this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object[]) msg", |
| params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object[]) msg", |
| params); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object[]) with null |
| * message and object. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogrb_LevelStringStringStringObjects_NullMsgObj() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, null, null, null, null, |
| (Object[]) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object[]) with null |
| * level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogrb_LevelStringStringStringObjects_NullLevel() { |
| try { |
| this.sharedLogger.logrb( |
| null, |
| "sourceClass", |
| "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Object[]) msg", |
| new Object[0]); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Object[]) with invalid |
| * resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object[].class} |
| ) |
| public void testLogrb_LevelStringStringStringObjects_InvalidRes() { |
| Object[] params = new Object[2]; |
| params[0] = new Object(); |
| params[1] = new Object(); |
| this.sharedLogger.setLevel(Level.ALL); |
| this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod", |
| INVALID_RESOURCE_BUNDLE, |
| "logrb(Level, String, String, String, String) msg", params); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE); |
| assertSame(r.getResourceBundle(), null); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.ALL); |
| assertEquals(2, r.getParameters().length); |
| assertSame(params[0], r.getParameters()[0]); |
| assertSame(params[1], r.getParameters()[1]); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Throwable) with normal |
| * values. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogrb_LevelStringStringStringThrowable_Normal() { |
| Throwable t = new Throwable(); |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.parse("1611"), "sourceClass", |
| "sourceMethod", VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Throwable) msg", |
| t); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String, Throwable) msg"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.parse("1611")); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), t); |
| assertNull(Level.parse("1611").getResourceBundleName()); |
| |
| this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Throwable) msg", |
| t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "logrb(Level, String, String, String, String, Throwable) msg", |
| t); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Throwable) with null |
| * message and throwable. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogrb_LevelStringTStringStringhrowable_NullMsgObj() { |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.logrb(Level.INFO, null, null, null, null, |
| (Throwable) null); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertNull(r.getMessage()); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Throwable) with null |
| * level. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogrb_LevelStringStringStringThrowable_NullLevel() { |
| // this.sharedLogger.setLevel(Level.OFF); |
| try { |
| this.sharedLogger.logrb( |
| null, |
| "sourceClass", |
| "sourceMethod", |
| VALID_RESOURCE_BUNDLE2, |
| "log(Level, String, String, String, String, Throwable) msg", |
| new Throwable()); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test logrb(Level, String, String, String, String, Throwable) with invalid |
| * resource bundle. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "logrb", |
| args = {java.util.logging.Level.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Throwable.class} |
| ) |
| public void testLogrb_LevelStringStringStringThrowable_InvalidRes() { |
| Throwable t = new Throwable(); |
| this.sharedLogger.setLevel(Level.ALL); |
| this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod", |
| INVALID_RESOURCE_BUNDLE, |
| "logrb(Level, String, String, String, String) msg", t); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), this.sharedLogger.getName()); |
| assertEquals(r.getMessage(), |
| "logrb(Level, String, String, String, String) msg"); |
| assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE); |
| assertSame(r.getResourceBundle(), null); |
| assertSame(r.getSourceClassName(), "sourceClass"); |
| assertSame(r.getSourceMethodName(), "sourceMethod"); |
| assertSame(r.getLevel(), Level.ALL); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), t); |
| } |
| |
| /* |
| * Test log(LogRecord) for a normal log record. Meanwhile the logger has an |
| * appropriate level, no filter, no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_LogRecord_AppropriateLevelNoFilterNoParent() { |
| LogRecord r = new LogRecord(Level.INFO, |
| "testLog_LogRecord_AppropriateLevelNoFilterNoParent"); |
| |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.log(r); |
| |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), null); |
| assertEquals(r.getMessage(), |
| "testLog_LogRecord_AppropriateLevelNoFilterNoParent"); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(LogRecord) with null log record. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_LogRecord_Null() { |
| this.sharedLogger.setLevel(Level.INFO); |
| try { |
| this.sharedLogger.log(null); |
| fail("Should throw NullPointerException!"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test log(LogRecord) for a normal log record. Meanwhile the logger has an |
| * inappropriate level, no filter, no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_LogRecord_InppropriateLevelNoFilterNoParent() { |
| LogRecord r = new LogRecord(Level.INFO, |
| "testLog_LogRecord_InppropriateLevelNoFilterNoParent"); |
| |
| this.sharedLogger.setLevel(Level.WARNING); |
| this.sharedLogger.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| r.setLevel(Level.OFF); |
| this.sharedLogger.setLevel(Level.OFF); |
| this.sharedLogger.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test log(LogRecord) for a normal log record. Meanwhile the logger has an |
| * appropriate level, a filter that accepts the fed log record, no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_LogRecord_AppropriateLevelTrueFilterNoParent() { |
| LogRecord r = new LogRecord(Level.INFO, |
| "testLog_LogRecord_AppropriateLevelTrueFilterNoParent"); |
| |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.setFilter(new MockTrueFilter()); |
| this.sharedLogger.log(r); |
| |
| // pop twice, one pushed by mock handler, one by true mock filter |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| assertSame(r.getLoggerName(), null); |
| assertEquals(r.getMessage(), |
| "testLog_LogRecord_AppropriateLevelTrueFilterNoParent"); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test log(LogRecord) for a normal log record. Meanwhile the logger has an |
| * appropriate level, a filter that rejects the fed log record, no parent. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_LogRecord_AppropriateLevelFalseFilterNoParent() { |
| LogRecord r = new LogRecord(Level.INFO, |
| "testLog_LogRecord_AppropriateLevelFalseFilterNoParent"); |
| |
| this.sharedLogger.setLevel(Level.INFO); |
| this.sharedLogger.setFilter(new MockFilter()); |
| this.sharedLogger.log(r); |
| |
| // pop only once, pushed by mock filter |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| assertSame(r.getLoggerName(), null); |
| assertEquals(r.getMessage(), |
| "testLog_LogRecord_AppropriateLevelFalseFilterNoParent"); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| } |
| |
| /* |
| * Test that the parent's handler is notified for a new log record when |
| * getUseParentHandlers() is true. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_ParentInformed() { |
| Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE); |
| Logger parent = new MockParentLogger("parentLogger", |
| VALID_RESOURCE_BUNDLE2); |
| |
| child.setParent(parent); |
| child.setLevel(Level.INFO); |
| parent.setLevel(Level.INFO); |
| parent.addHandler(new MockHandler()); |
| LogRecord r = new LogRecord(Level.INFO, "testLog_ParentInformed"); |
| child.log(r); |
| assertTrue(child.getUseParentHandlers()); |
| // pop only once, pushed by the parent logger's handler, not by the |
| // parent itself! |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertSame(r.getLoggerName(), null); |
| assertEquals(r.getMessage(), "testLog_ParentInformed"); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.INFO); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| |
| // set the child logger to disabling level |
| child.setLevel(Level.SEVERE); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set the parent logger to disabling level |
| child.setLevel(Level.INFO); |
| parent.setLevel(Level.SEVERE); |
| child.log(r); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set the child logger off |
| child.setLevel(Level.OFF); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set the record off |
| r.setLevel(Level.OFF); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test that the ancestor's handler is notified for a new log record when |
| * getUseParentHandlers() is true. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_AncestorInformed() { |
| Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE); |
| Logger parent = new MockParentLogger("parentLogger", |
| VALID_RESOURCE_BUNDLE2); |
| Logger ancestor = new MockParentLogger("ancestorLogger", |
| VALID_RESOURCE_BUNDLE3); |
| |
| child.setParent(parent); |
| parent.setParent(ancestor); |
| child.setLevel(Level.INFO); |
| parent.setLevel(Level.INFO); |
| ancestor.setLevel(Level.OFF); |
| ancestor.addHandler(new MockHandler()); |
| LogRecord r = new LogRecord(Level.INFO, "testLog_AncestorInformed"); |
| child.log(r); |
| assertTrue(child.getUseParentHandlers()); |
| assertTrue(parent.getUseParentHandlers()); |
| // pop only once, pushed by the ancestor's logger's handler, not by the |
| // parent itself! |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set parent's level to a disabling one |
| parent.setLevel(Level.WARNING); |
| child.log(r); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set child's level to a disabling one |
| parent.setLevel(Level.INFO); |
| child.setLevel(Level.WARNING); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| // set parent's useParentHandlers to false |
| parent.setLevel(Level.INFO); |
| child.setLevel(Level.INFO); |
| parent.setUseParentHandlers(false); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test that the parent's handler is notified for a new log record when |
| * getUseParentHandlers() is false. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_ParentNotInformed() { |
| Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE); |
| Logger parent = new MockParentLogger("parentLogger", |
| VALID_RESOURCE_BUNDLE2); |
| |
| child.setParent(parent); |
| child.setLevel(Level.INFO); |
| parent.setLevel(Level.INFO); |
| parent.addHandler(new MockHandler()); |
| LogRecord r = new LogRecord(Level.INFO, "testLog_ParentInformed"); |
| child.setUseParentHandlers(false); |
| child.log(r); |
| assertFalse(child.getUseParentHandlers()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test that a logger with null level and no parent. Defaulted to |
| * Level.INFO. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_NullLevelNoParent() { |
| LogRecord r = new LogRecord(Level.INFO, "testLog_NullLevelNoParent"); |
| assertNull(this.sharedLogger.getLevel()); |
| assertNull(this.sharedLogger.getParent()); |
| assertTrue(this.sharedLogger.isLoggable(r.getLevel())); |
| this.sharedLogger.log(r); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertNull(this.sharedLogger.getLevel()); |
| |
| r.setLevel(Level.WARNING); |
| assertTrue(this.sharedLogger.isLoggable(r.getLevel())); |
| this.sharedLogger.log(r); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| r.setLevel(Level.CONFIG); |
| this.sharedLogger.log(r); |
| assertFalse(this.sharedLogger.isLoggable(r.getLevel())); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test that a logger inherits its parent level when its level is null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_NullLevelHasParent() { |
| Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| parent.setLevel(Level.FINER); |
| |
| assertNull(child.getLevel()); |
| |
| LogRecord r = new LogRecord(Level.FINE, "testLog_NullLevelHasParent"); |
| child.log(r); |
| assertTrue(child.isLoggable(r.getLevel())); |
| // pop only once, pushed by the child logger's handler |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| assertSame(r.getLoggerName(), null); |
| assertEquals(r.getMessage(), "testLog_NullLevelHasParent"); |
| assertSame(r.getResourceBundleName(), null); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| assertNull(child.getLevel()); |
| |
| // set the parent logger to disabling level |
| parent.setLevel(Level.CONFIG); |
| assertFalse(child.isLoggable(r.getLevel())); |
| child.log(r); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertNull(child.getLevel()); |
| |
| // test ancestor |
| Logger ancestor = new MockLogger("ancestorLogger", |
| VALID_RESOURCE_BUNDLE3); |
| parent.setParent(ancestor); |
| parent.setLevel(null); |
| parent.setUseParentHandlers(false); |
| ancestor.setLevel(Level.ALL); |
| child.log(r); |
| assertTrue(child.isLoggable(r.getLevel())); |
| assertSame(r, CallVerificationStack.getInstance().pop()); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertNull(child.getLevel()); |
| assertNull(parent.getLevel()); |
| } |
| |
| /* |
| * Test that a logger with null resource bundle and no parent. Defaulted to |
| * null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_NullResNoParent() { |
| Logger log = new MockLogger("Logger", null); |
| log.addHandler(new MockHandler()); |
| log.setLevel(Level.FINE); |
| |
| assertNull(log.getResourceBundle()); |
| assertNull(log.getResourceBundleName()); |
| assertNull(log.getParent()); |
| log.log(Level.INFO, "testLog_NullResNoParent"); |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| assertNull(log.getResourceBundle()); |
| assertNull(log.getResourceBundleName()); |
| assertNull(r.getResourceBundle()); |
| assertNull(r.getResourceBundleName()); |
| } |
| |
| /* |
| * Test that a logger inherits its parent resource bundle when its resource |
| * bundle is null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_NullResHasParent() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| parent.setLevel(Level.FINER); |
| assertNull(child.getResourceBundle()); |
| assertNull(child.getResourceBundleName()); |
| |
| child.log(Level.FINE, "testLog_NullResHasParent"); |
| // pop only once, pushed by the child logger's handler |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| assertSame(r.getLoggerName(), "childLogger"); |
| assertEquals(r.getMessage(), "testLog_NullResHasParent"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| assertNull(child.getResourceBundle()); |
| assertNull(child.getResourceBundleName()); |
| } |
| |
| /* |
| * Test that a logger inherits its ancestor's resource bundle when its |
| * resource bundle and its parent's resource bundle are both null. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_NullResHasAncestor() { |
| Logger child = new MockLogger("childLogger", null); |
| Logger parent = new MockLogger("parentLogger", null); |
| Logger ancestor = new MockLogger("ancestorLogger", |
| VALID_RESOURCE_BUNDLE3); |
| child.addHandler(new MockHandler()); |
| child.setParent(parent); |
| parent.setParent(ancestor); |
| parent.setLevel(Level.FINER); |
| assertNull(child.getResourceBundle()); |
| assertNull(child.getResourceBundleName()); |
| |
| child.log(Level.FINE, "testLog_NullResHasAncestor"); |
| // pop only once, pushed by the child logger's handler |
| LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop(); |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| |
| assertSame(r.getLoggerName(), "childLogger"); |
| assertEquals(r.getMessage(), "testLog_NullResHasAncestor"); |
| assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE3); |
| assertSame(r.getSourceClassName(), null); |
| assertSame(r.getSourceMethodName(), null); |
| assertSame(r.getLevel(), Level.FINE); |
| assertNull(r.getParameters()); |
| assertSame(r.getThrown(), null); |
| assertNull(child.getResourceBundle()); |
| assertNull(child.getResourceBundleName()); |
| } |
| |
| /* |
| * Test when one handler throws an exception. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "log", |
| args = {java.util.logging.LogRecord.class} |
| ) |
| public void testLog_ExceptionalHandler() { |
| MockLogger l = new MockLogger("testLog_ExceptionalHandler", null); |
| l.addHandler(new MockExceptionalHandler()); |
| l.addHandler(new MockHandler()); |
| try { |
| l.severe("testLog_ExceptionalHandler"); |
| fail("Should throw RuntimeException!"); |
| } catch (RuntimeException e) { |
| } |
| assertTrue(CallVerificationStack.getInstance().empty()); |
| } |
| |
| /* |
| * Test whether privileged code is used to load resource bundles. |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getAnonymousLogger", |
| args = {java.lang.String.class} |
| ) |
| public void testLoadResourceBundle() { |
| // |
| SecurityManager oldMan = System.getSecurityManager(); |
| System.setSecurityManager(new MockNoLoadingClassSecurityManager()); |
| try { |
| Logger.getAnonymousLogger(VALID_RESOURCE_BUNDLE); |
| } finally { |
| System.setSecurityManager(oldMan); |
| } |
| } |
| |
| |
| /** |
| * java.util.logging.Logger#logrb(Level, String, String, String, String, |
| * Object) |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "", |
| method = "getLogger", |
| args = {java.lang.String.class} |
| ) |
| public void test_init_logger() throws Exception { |
| Properties p = new Properties(); |
| p.put("testGetLogger_Normal_ANewLogger2.level", "ALL"); |
| LogManager.getLogManager().readConfiguration( |
| EnvironmentHelper.PropertiesToInputStream(p)); |
| |
| assertNull(LogManager.getLogManager().getLogger( |
| "testGetLogger_Normal_ANewLogger2")); |
| SecurityManager originalSecurityManager = System.getSecurityManager(); |
| try { |
| Logger logger = Logger |
| .getLogger("testGetLogger_Normal_ANewLogger2"); |
| System.setSecurityManager(new MockSecurityManager()); |
| try { |
| logger.setLevel(Level.ALL); |
| fail("should throw SecurityException"); |
| } catch (SecurityException e) { |
| // expected |
| } |
| try { |
| logger.setParent(Logger.getLogger("")); |
| fail("should throw SecurityException"); |
| } catch (SecurityException e) { |
| // expected |
| } |
| } finally { |
| System.setSecurityManager(originalSecurityManager); |
| } |
| } |
| |
| |
| /* |
| * A mock logger, used to test the protected constructors and fields. |
| */ |
| public static class MockLogger extends Logger { |
| |
| public MockLogger(String name, String resourceBundleName) { |
| super(name, resourceBundleName); |
| } |
| } |
| |
| /* |
| * A mock logger, used to test inheritance. |
| */ |
| public static class MockParentLogger extends Logger { |
| |
| public MockParentLogger(String name, String resourceBundleName) { |
| super(name, resourceBundleName); |
| } |
| |
| public void log(LogRecord record) { |
| CallVerificationStack.getInstance().push(record); |
| super.log(record); |
| } |
| |
| } |
| |
| /* |
| * A mock handler, used to validate the expected method is called with the |
| * expected parameters. |
| */ |
| public static class MockHandler extends Handler { |
| |
| public void close() { |
| // System.out.println("close!"); |
| } |
| |
| public void flush() { |
| // System.out.println("flushed!"); |
| } |
| |
| public void publish(LogRecord record) { |
| // System.out.println("publish!"); |
| CallVerificationStack.getInstance().push(record); |
| } |
| } |
| |
| /* |
| * A mock handler that throws an exception when publishing a log record. |
| */ |
| public static class MockExceptionalHandler extends Handler { |
| |
| public void close() { |
| // System.out.println("close!"); |
| } |
| |
| public void flush() { |
| // System.out.println("flushed!"); |
| } |
| |
| public void publish(LogRecord record) { |
| // System.out.println("publish!"); |
| throw new RuntimeException(); |
| } |
| } |
| |
| /* |
| * Used to grant all permissions except logging control. |
| */ |
| public static class MockSecurityManager extends SecurityManager { |
| |
| public MockSecurityManager() { |
| } |
| |
| public void checkPermission(Permission perm) { |
| // grant all permissions except logging control |
| if (perm instanceof LoggingPermission) { |
| throw new SecurityException(); |
| } |
| } |
| |
| public void checkPermission(Permission perm, Object context) { |
| // grant all permissions except logging control |
| if (perm instanceof LoggingPermission) { |
| throw new SecurityException(); |
| } |
| } |
| } |
| |
| /* |
| * Used to grant all permissions except getting class loader. |
| */ |
| public static class MockNoLoadingClassSecurityManager extends |
| SecurityManager { |
| |
| public MockNoLoadingClassSecurityManager() { |
| } |
| |
| public void checkPermission(Permission perm) { |
| // grant all permissions except getting class loader |
| if (perm instanceof RuntimePermission) { |
| if ("getClassLoader".equals(perm.getName())) { |
| throw new SecurityException(); |
| } |
| } |
| } |
| |
| public void checkPermission(Permission perm, Object context) { |
| // grant all permissions except logging control |
| if (perm instanceof LoggingPermission) { |
| throw new SecurityException(); |
| } |
| } |
| } |
| |
| |
| /* |
| * A mock filter, always return false. |
| */ |
| public static class MockFilter implements Filter { |
| |
| public boolean isLoggable(LogRecord record) { |
| CallVerificationStack.getInstance().push(record); |
| return false; |
| } |
| } |
| |
| /* |
| * A mock filter, always return true. |
| */ |
| public static class MockTrueFilter implements Filter { |
| |
| public boolean isLoggable(LogRecord record) { |
| CallVerificationStack.getInstance().push(record); |
| return true; |
| } |
| } |
| } |