From 741c8eeba5d45e04d74330d3f143a579e8c28f22 Mon Sep 17 00:00:00 2001 From: "anzhela.sukhanova" Date: Tue, 9 Jan 2024 18:34:22 +0200 Subject: [PATCH] Tests for KT-64640 Add test for other collections with (add/remove)(First/Last) methods. Add test for LinkedHashMap.put(First/Last) methods (they are also appeared in Java 21) --- .../testsWithJava21/newLinkedHashMapMethods.kt | 14 ++++++++++++++ .../newListMethodsImmutable.fir.kt | 18 ++++++++++++++++++ .../testsWithJava21/newListMethodsImmutable.kt | 18 ++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/testsWithJava21/newLinkedHashMapMethods.kt diff --git a/compiler/testData/diagnostics/tests/testsWithJava21/newLinkedHashMapMethods.kt b/compiler/testData/diagnostics/tests/testsWithJava21/newLinkedHashMapMethods.kt new file mode 100644 index 00000000000..7808117a6d5 --- /dev/null +++ b/compiler/testData/diagnostics/tests/testsWithJava21/newLinkedHashMapMethods.kt @@ -0,0 +1,14 @@ +// ISSUE: KT-64640 +// WITH_STDLIB +// FIR_IDENTICAL + +fun foo(x: LinkedHashMap, y: java.util.SequencedMap, z: HashMap) { + x.putFirst(0, "0") + x.putLast(1, "1") + + y.putFirst(0, "0") + y.putLast(1, "1") + + z.putFirst(0, "0") + z.putLast(1, "1") +} diff --git a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.fir.kt b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.fir.kt index ccdfe5be644..b8322c85b45 100644 --- a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.fir.kt +++ b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.fir.kt @@ -19,3 +19,21 @@ fun baz(x: ArrayDeque, y: LinkedHashSet) { y.removeFirst() y.removeLast() } + +// Test for collections with (add/remove)(First/Last) methods which are not covered by autotests +fun foo(x: java.util.SequencedCollection, y: java.util.SequencedSet, z: java.util.Deque) { + x.addFirst("") + x.addLast("") + x.removeFirst() + x.removeLast() + + y.addFirst("") + y.addLast("") + y.removeFirst() + y.removeLast() + + z.addFirst("") + z.addLast("") + z.removeFirst() + z.removeLast() +} diff --git a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.kt b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.kt index 14209d70c4c..9142493f6d8 100644 --- a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.kt +++ b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethodsImmutable.kt @@ -19,3 +19,21 @@ fun baz(x: ArrayDeque, y: LinkedHashSet) { y.removeFirst() y.removeLast() } + +// Test for collections with (add/remove)(First/Last) methods which are not covered by autotests +fun foo(x: java.util.SequencedCollection, y: java.util.SequencedSet, z: java.util.Deque) { + x.addFirst("") + x.addLast("") + x.removeFirst() + x.removeLast() + + y.addFirst("") + y.addLast("") + y.removeFirst() + y.removeLast() + + z.addFirst("") + z.addLast("") + z.removeFirst() + z.removeLast() +}