You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2019/05/04 11:05:09 UTC

[netbeans-html4j] 02/07: Avoid null presenter as soon as possible

This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans-html4j.git

commit eb8179dc9a67de9b0aebd2b18ddfd6277a508f0e
Author: Jaroslav Tulach <ja...@apidesign.org>
AuthorDate: Sat May 4 09:00:39 2019 +0200

    Avoid null presenter as soon as possible
---
 boot/src/main/java/org/netbeans/html/boot/spi/Fn.java                | 4 ++++
 boot/src/test/java/org/netbeans/html/boot/impl/FnTest.java           | 5 +++++
 .../src/test/java/org/netbeans/html/boot/impl/JsClassLoaderBase.java | 4 ++--
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/boot/src/main/java/org/netbeans/html/boot/spi/Fn.java b/boot/src/main/java/org/netbeans/html/boot/spi/Fn.java
index 3dc4e30..0b8eb35 100644
--- a/boot/src/main/java/org/netbeans/html/boot/spi/Fn.java
+++ b/boot/src/main/java/org/netbeans/html/boot/spi/Fn.java
@@ -169,9 +169,13 @@ public abstract class Fn {
      * 
      * @param p the presenter that should be active until closable is closed
      * @return the closable to close
+     * @throws NullPointerException if the {@code p} is {@code null}
      * @since 0.7
      */
     public static Closeable activate(Presenter p) {
+        if (p == null) {
+            throw new NullPointerException();
+        }
         return FnContext.activate(p);
     }
     
diff --git a/boot/src/test/java/org/netbeans/html/boot/impl/FnTest.java b/boot/src/test/java/org/netbeans/html/boot/impl/FnTest.java
index 89689bc..60a824a 100644
--- a/boot/src/test/java/org/netbeans/html/boot/impl/FnTest.java
+++ b/boot/src/test/java/org/netbeans/html/boot/impl/FnTest.java
@@ -124,6 +124,11 @@ public class FnTest extends JsClassLoaderBase {
         methodClass = loader.loadClass(JsMethods.class.getName());
         close.close();
     }
+
+    @Test(expectedExceptions = NullPointerException.class)
+    public void nullProcessorNPE() {
+        Fn.activate(null);
+    }
     
     @Test public void flushingPresenter() throws IOException {
         class FP implements Fn.Presenter, Flushable {
diff --git a/boot/src/test/java/org/netbeans/html/boot/impl/JsClassLoaderBase.java b/boot/src/test/java/org/netbeans/html/boot/impl/JsClassLoaderBase.java
index e37ffec..06aafaf 100644
--- a/boot/src/test/java/org/netbeans/html/boot/impl/JsClassLoaderBase.java
+++ b/boot/src/test/java/org/netbeans/html/boot/impl/JsClassLoaderBase.java
@@ -205,7 +205,7 @@ public class JsClassLoaderBase {
     @Test public void plusOrMul() throws Throwable {
         Method st = methodClass.getMethod("plusOrMul", int.class, int.class);
         assertNotNull(Fn.activePresenter(), "Is there a presenter?");
-        Closeable c = Fn.activate(null);
+        Closeable c = FnContext.activate(null);
         try {
             assertNull(Fn.activePresenter(), "No presenter now");
             assertEquals(st.invoke(null, 6, 7), 42, "Mul in Java");
@@ -214,7 +214,7 @@ public class JsClassLoaderBase {
         }
         assertNotNull(Fn.activePresenter(), "Is there a presenter again");
         assertEquals(st.invoke(null, 6, 7), 13, "Plus in JavaScript");
-        c = Fn.activate(null);
+        c = FnContext.activate(null);
         try {
             assertNull(Fn.activePresenter(), "No presenter again");
             assertEquals(st.invoke(null, 6, 7), 42, "Mul in Java");


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists