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)