From 8fdfa4e608a2f1b85191d3325e152b257ec07778 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 28 Jul 2017 18:18:22 +0700 Subject: [PATCH] OptionalInlining: more flatMap tests --- .../inspection/dataFlow/fixture/OptionalInlining.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/OptionalInlining.java b/java/java-tests/testData/inspection/dataFlow/fixture/OptionalInlining.java index 97c7443a85fb..e99427140f83 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/OptionalInlining.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/OptionalInlining.java @@ -158,10 +158,20 @@ public class OptionalInlining { opt.flatMap(x -> null); opt.flatMap(this::nullableOptionalMethod); opt.flatMap(x -> x.isEmpty() ? null : Optional.of(x)); + opt.flatMap(x -> { + if (x.isEmpty()) { + return null; + } + else { + return Optional.of(x); + } + }); String s = opt.flatMap(str -> Optional.of(str.length() > 10 ? "foo" : "bar")).orElse("baz"); if (s.equals("qux")) { System.out.println("Never"); } + boolean res = opt.filter(x -> x.isEmpty()).flatMap(x -> x.length() <= 2 ? Optional.empty() : Optional.of("foo")) + .isPresent(); } void testIfPresent(Optional opt) {