| /* |
| * 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 javax.faces.application; |
| |
| import junit.framework.TestCase; |
| |
| import java.io.ByteArrayInputStream; |
| import java.io.ByteArrayOutputStream; |
| import java.io.ObjectInputStream; |
| import java.io.ObjectOutputStream; |
| import java.util.Iterator; |
| import java.util.Map; |
| import java.util.Set; |
| |
| public class FacesMessageTest extends TestCase { |
| |
| public static void main(String[] args) { |
| junit.textui.TestRunner.run(FacesMessageTest.class); |
| } |
| |
| public FacesMessageTest(String name) { |
| super(name); |
| } |
| |
| protected void setUp() throws Exception { |
| super.setUp(); |
| } |
| |
| protected void tearDown() throws Exception { |
| super.tearDown(); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.FacesMessage()' |
| */ |
| public void testFacesMessage() { |
| FacesMessage msg = new FacesMessage(); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_INFO); |
| assertNull(msg.getSummary()); |
| assertNull(msg.getDetail()); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.FacesMessage(String)' |
| */ |
| public void testFacesMessageString() { |
| String summary = "summary"; |
| FacesMessage msg = new FacesMessage(summary); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_INFO); |
| assertEquals(msg.getSummary(), summary); |
| assertEquals(msg.getDetail(), summary); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.FacesMessage(String, String)' |
| */ |
| public void testFacesMessageStringString() { |
| String summary = "summary"; |
| String detail = "detail"; |
| FacesMessage msg = new FacesMessage(summary, detail); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_INFO); |
| assertEquals(msg.getSummary(), summary); |
| assertEquals(msg.getDetail(), detail); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.FacesMessage(Severity, String, String)' |
| */ |
| public void testFacesMessageSeverityStringString() { |
| String summary = "summary"; |
| String detail = "detail"; |
| FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, detail); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_ERROR); |
| assertEquals(msg.getSummary(), summary); |
| assertEquals(msg.getDetail(), detail); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.FacesMessage(Severity, String, String)' |
| */ |
| public void testFacesMessageNullSeverityStringString() { |
| String summary = "summary"; |
| String detail = "detail"; |
| try { |
| new FacesMessage(null, summary, detail); |
| fail("Should have thrown an exception"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.setSeverity(Severity)' |
| */ |
| public void testSetSeverity() { |
| FacesMessage msg = new FacesMessage(); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_INFO); |
| msg.setSeverity(FacesMessage.SEVERITY_FATAL); |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_FATAL); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.setSeverity(Severity)' |
| */ |
| public void testSetNullSeverity() { |
| FacesMessage msg = new FacesMessage(); |
| try { |
| msg.setSeverity(null); |
| fail("Should have thrown an exception"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.setSummary(String)' |
| */ |
| public void testSetSummary() { |
| FacesMessage msg = new FacesMessage(); |
| String summary = "summary"; |
| msg.setSummary(summary); |
| assertEquals(msg.getSummary(), summary); |
| assertEquals(msg.getDetail(), summary); |
| } |
| |
| /* |
| * Test method for 'javax.faces.application.FacesMessage.setDetail(String)' |
| */ |
| public void testSetDetail() { |
| FacesMessage msg = new FacesMessage(); |
| String detail = "detail"; |
| msg.setDetail(detail); |
| assertEquals(msg.getSummary(), null); |
| assertEquals(msg.getDetail(), detail); |
| } |
| |
| public void testSeverityOrdering() { |
| // make sure they are ordered correctly from least to worst |
| assertTrue(0 > FacesMessage.SEVERITY_INFO.compareTo(FacesMessage.SEVERITY_WARN)); |
| assertTrue(0 > FacesMessage.SEVERITY_WARN.compareTo(FacesMessage.SEVERITY_ERROR)); |
| assertTrue(0 > FacesMessage.SEVERITY_ERROR.compareTo(FacesMessage.SEVERITY_FATAL)); |
| // make sure they are ordered correctly from worts to least |
| assertTrue(0 < FacesMessage.SEVERITY_FATAL.compareTo(FacesMessage.SEVERITY_ERROR)); |
| assertTrue(0 < FacesMessage.SEVERITY_ERROR.compareTo(FacesMessage.SEVERITY_WARN)); |
| assertTrue(0 < FacesMessage.SEVERITY_WARN.compareTo(FacesMessage.SEVERITY_INFO)); |
| } |
| |
| public void testSeverityCompareWithString() { |
| // make sure the compare fails when it should |
| try { |
| FacesMessage.SEVERITY_ERROR.compareTo("Hello There"); |
| fail("should throw"); |
| } catch(IllegalArgumentException e) { |
| } |
| } |
| |
| public void testSeverityEquality() { |
| // make sure they all respond as equals when they should |
| assertEquals(0, FacesMessage.SEVERITY_INFO.compareTo(FacesMessage.SEVERITY_INFO)); |
| assertEquals(0, FacesMessage.SEVERITY_WARN.compareTo(FacesMessage.SEVERITY_WARN)); |
| assertEquals(0, FacesMessage.SEVERITY_ERROR.compareTo(FacesMessage.SEVERITY_ERROR)); |
| assertEquals(0, FacesMessage.SEVERITY_FATAL.compareTo(FacesMessage.SEVERITY_FATAL)); |
| } |
| |
| public void testSeverityValues() |
| { |
| // JSF spec requires this list to be sorted by ordinal |
| for (int i = 0, sz = FacesMessage.VALUES.size(); i < sz; i++) |
| { |
| FacesMessage.Severity severity = (FacesMessage.Severity) FacesMessage.VALUES.get(i); |
| assertEquals(i + 1, severity.getOrdinal()); |
| } |
| } |
| |
| public void testSeverityValuesMap() |
| { |
| Map severityMap = FacesMessage.VALUES_MAP; |
| Set entrySet = severityMap.entrySet(); |
| |
| for (Iterator it = entrySet.iterator(); it.hasNext(); ) |
| { |
| Map.Entry e = (Map.Entry) it.next(); |
| |
| assertEquals(e.getKey(), e.getValue().toString()); |
| } |
| } |
| |
| public void testSerialization() throws Exception |
| { |
| final String summary = "summary"; |
| final String detail = "detail"; |
| FacesMessage msg = new FacesMessage(summary, detail); |
| |
| // check if properties are set correctly |
| assertEquals(msg.getSeverity(), FacesMessage.SEVERITY_INFO); |
| assertEquals(msg.getSummary(), summary); |
| assertEquals(msg.getDetail(), detail); |
| |
| // serialize instance |
| ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
| ObjectOutputStream out = new ObjectOutputStream(baos); |
| out.writeObject(msg); |
| out.close(); |
| |
| // deserialize instance |
| ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); |
| FacesMessage deserialized = (FacesMessage) in.readObject(); |
| |
| // FacesMessage properties must equal! |
| assertSame(msg.getSeverity(), deserialized.getSeverity()); |
| assertEquals(msg.getSummary(), deserialized.getSummary()); |
| assertEquals(msg.getDetail(), deserialized.getDetail()); |
| } |
| |
| } |