diff options
Diffstat (limited to 'nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java')
-rw-r--r-- | nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java b/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java index 3a6838c..2967422 100644 --- a/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java @@ -366,6 +366,71 @@ public class NullAwayAssertionLibsTests extends NullAwayTestsBase { } @Test + public void supportAssertJAssertThatIsNotNullWithDescription_Object() { + makeTestHelperWithArgs( + Arrays.asList( + "-d", + temporaryFolder.getRoot().getAbsolutePath(), + "-XepOpt:NullAway:AnnotatedPackages=com.uber", + "-XepOpt:NullAway:HandleTestAssertionLibraries=true")) + .addSourceLines( + "Test.java", + "package com.uber;", + "import java.lang.Object;", + "import java.util.Objects;", + "import javax.annotation.Nullable;", + "import static org.assertj.core.api.Assertions.assertThat;", + "class Test {", + " private void foo(@Nullable Object o) {", + " assertThat(o).as(\"test\").isNotNull();", + " o.toString();", + " }", + " private void foo2(@Nullable Object o) {", + " assertThat(o).describedAs(\"test\").isNotNull();", + " o.toString();", + " }", + " private void foo3(@Nullable Object o) {", + " assertThat(o).describedAs(\"test1\").as(\"test2\").isNotNull();", + " o.toString();", + " }", + "}") + .doTest(); + } + + @Test + public void assertJAssertThatIsNotNullUnhandled() { + makeTestHelperWithArgs( + Arrays.asList( + "-d", + temporaryFolder.getRoot().getAbsolutePath(), + "-XepOpt:NullAway:AnnotatedPackages=com.uber", + "-XepOpt:NullAway:HandleTestAssertionLibraries=true")) + .addSourceLines( + "Test.java", + "package com.uber;", + "import java.lang.Object;", + "import java.util.Objects;", + "import javax.annotation.Nullable;", + "import static org.assertj.core.api.Assertions.assertThat;", + "class Test {", + " private void foo(@Nullable Object o) {", + " org.assertj.core.api.ObjectAssert t = assertThat(o);", + " t.isNotNull();", + " // False positive", + " // BUG: Diagnostic contains: dereferenced expression", + " o.toString();", + " }", + " private void foo2(@Nullable Object o) {", + " assertThat(o).isEqualToIgnoringNullFields(o).describedAs(\"test\").isNotNull();", + " // False positive", + " // BUG: Diagnostic contains: dereferenced expression", + " o.toString();", + " }", + "}") + .doTest(); + } + + @Test public void supportAssertJAssertThatIsNotNull_String() { makeTestHelperWithArgs( Arrays.asList( |