From 7a6654973359749e3a1921d60837479551e022f4 Mon Sep 17 00:00:00 2001 From: Tomas Bjerre Date: Thu, 1 Aug 2019 17:36:14 +0200 Subject: [PATCH] Avoiding NPE #127 --- run.sh | 2 +- .../org/jenkinsci/plugins/gwt/Renderer.java | 5 +++-- .../jenkinsci/plugins/gwt/RendererTest.java | 20 +++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/run.sh b/run.sh index e123a5c..85494d4 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1,3 @@ #!/bin/sh mvn versions:update-properties -mvn hpi:run -Djava.util.logging.config.file=logging.properties -Djenkins.version=2.150.1 -Denforcer.skip=true +mvn hpi:run -Djava.util.logging.config.file=logging.properties -Djenkins.version=2.181 -Denforcer.skip=true diff --git a/src/main/java/org/jenkinsci/plugins/gwt/Renderer.java b/src/main/java/org/jenkinsci/plugins/gwt/Renderer.java index 5a56ad6..02a9346 100644 --- a/src/main/java/org/jenkinsci/plugins/gwt/Renderer.java +++ b/src/main/java/org/jenkinsci/plugins/gwt/Renderer.java @@ -1,6 +1,7 @@ package org.jenkinsci.plugins.gwt; import static com.google.common.base.Strings.isNullOrEmpty; +import static com.google.common.base.Strings.nullToEmpty; import static java.util.logging.Level.FINE; import static java.util.regex.Pattern.compile; @@ -25,8 +26,8 @@ public static boolean isMatching( return true; } final boolean isMatching = - compile(regexpFilterExpression) // - .matcher(renderedRegexpFilterText) // + compile(nullToEmpty(regexpFilterExpression)) // + .matcher(nullToEmpty(renderedRegexpFilterText)) // .find(); if (!isMatching) { LOGGER.log( diff --git a/src/test/java/org/jenkinsci/plugins/gwt/RendererTest.java b/src/test/java/org/jenkinsci/plugins/gwt/RendererTest.java index b182579..f096286 100644 --- a/src/test/java/org/jenkinsci/plugins/gwt/RendererTest.java +++ b/src/test/java/org/jenkinsci/plugins/gwt/RendererTest.java @@ -41,6 +41,26 @@ public void testThatEmptyTextIsNotMatched() { .isFalse(); } + @Test + public void testThatEmptyExprButNotEmptyTextIsNotMatched() { + assertThat(isMatching(null, "^feature")) // + .isFalse(); + assertThat(isMatching("", "^feature")) // + .isFalse(); + } + + @Test + public void testThatEmptyExprAndEmptyTextIsMatched() { + assertThat(isMatching(null, "")) // + .isTrue(); + assertThat(isMatching("", null)) // + .isTrue(); + assertThat(isMatching(null, null)) // + .isTrue(); + assertThat(isMatching("", "")) // + .isTrue(); + } + @Test public void testThatIsMatchingWorksDevelopCorrectUser() { regexpFilterText = "refs/heads/develop tomabje";