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)

Reply via email to