aboutsummaryrefslogtreecommitdiff
path: root/nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java')
-rw-r--r--nullaway/src/test/java/com/uber/nullaway/NullAwayAssertionLibsTests.java65
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(