Paul Nicolucci created MYFACES-4495: ---------------------------------------
Summary: TCK: Application: subscribeToEvent, publishEvent, unsubscibeFromEvent don't throw NPEs when specified by the JavaDoc Key: MYFACES-4495 URL: https://issues.apache.org/jira/browse/MYFACES-4495 Project: MyFaces Core Issue Type: Bug Components: General Affects Versions: 4.0.0-RC2 Reporter: Paul Nicolucci Assignee: Paul Nicolucci [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#subscribeToEvent(java.lang.Class,jakarta.faces.event.SystemEventListener)] [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#subscribeToEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)] {code:java} Throws: NullPointerException - if any combination of systemEventClass, or listener are null.{code} [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#unsubscribeFromEvent(java.lang.Class,jakarta.faces.event.SystemEventListener)] [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#unsubscribeFromEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)] {code:java} Throws: NullPointerException - if any combination of context, systemEventClass, or listener are null. {code} [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#publishEvent(jakarta.faces.context.FacesContext,java.lang.Class,java.lang.Class,java.lang.Object)] {code:java} Throws: NullPointerException - if any arguments except for sourceBaseType are null {code} [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#publishEvent(jakarta.faces.context.FacesContext,java.lang.Class,java.lang.Object)] {code:java} Throws: NullPointerException - if either context, systemEventClass or source is null {code} Given the data constructs that are used in these methods for MyFaces we happen to throw an NPE in some situations but not all. I'll provide a PR that makes the NPEs more obvious and consistent. TCK Tests: 1) [https://github.com/jakartaee/faces/blob/4.0.1/tck/old-tck/source/src/com/sun/ts/tests/jsf/api/jakarta_faces/application/application/TestServlet.java#L2082] 2) [https://github.com/jakartaee/faces/blob/4.0.1/tck/old-tck/source/src/com/sun/ts/tests/jsf/api/jakarta_faces/application/application/TestServlet.java#L2244] -- This message was sent by Atlassian Jira (v8.20.10#820010)