From dd0cc7089a4f57a682729d010d6a9545af8fd033 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Thu, 7 Dec 2023 21:57:42 +0100 Subject: [PATCH] Add unittests for FqNameUnsafe.startsWith(FqNameUnsafe) --- .../kotlin/name/FqNameUnsafeTest.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/compiler/tests/org/jetbrains/kotlin/name/FqNameUnsafeTest.java b/compiler/tests/org/jetbrains/kotlin/name/FqNameUnsafeTest.java index 37c2f43f640..88587d77675 100644 --- a/compiler/tests/org/jetbrains/kotlin/name/FqNameUnsafeTest.java +++ b/compiler/tests/org/jetbrains/kotlin/name/FqNameUnsafeTest.java @@ -46,4 +46,52 @@ public class FqNameUnsafeTest { Assert.assertTrue(new FqNameUnsafe(".").startsWith(Name.special(""))); Assert.assertTrue(new FqNameUnsafe("<>.abc").startsWith(Name.special("<>"))); } + + @Test + public void startsWithFqNameUnsafe() { + Assert.assertTrue(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abc.def"))); + Assert.assertTrue(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abc"))); + Assert.assertTrue(new FqNameUnsafe("abc").startsWith(new FqNameUnsafe("abc"))); + Assert.assertTrue(new FqNameUnsafe("abc.").startsWith(new FqNameUnsafe("abc."))); + Assert.assertTrue(new FqNameUnsafe("abc.").startsWith(new FqNameUnsafe("abc"))); + Assert.assertTrue(new FqNameUnsafe("abc.def.").startsWith(new FqNameUnsafe("abc"))); + Assert.assertTrue(new FqNameUnsafe("abc.def.").startsWith(new FqNameUnsafe("abc.def"))); + Assert.assertTrue(new FqNameUnsafe("abc.def.").startsWith(new FqNameUnsafe("abc.def."))); + Assert.assertTrue(new FqNameUnsafe(".abc").startsWith(new FqNameUnsafe(""))); + + Assert.assertFalse(new FqNameUnsafe("").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("").startsWith(new FqNameUnsafe("id"))); + + Assert.assertFalse(new FqNameUnsafe("segment").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(new FqNameUnsafe("abc"))); + Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(new FqNameUnsafe("xyz"))); + Assert.assertFalse(new FqNameUnsafe("abcdef").startsWith(new FqNameUnsafe("abc"))); + Assert.assertFalse(new FqNameUnsafe("abc").startsWith(new FqNameUnsafe("abcdef"))); + Assert.assertFalse(new FqNameUnsafe("abc").startsWith(new FqNameUnsafe("abc."))); + Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abc."))); + Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abcdef"))); + Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abcxyz"))); + Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe("abc.xyz"))); + + // special names + Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("abc").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("abc.").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(new FqNameUnsafe("<>"))); + + Assert.assertFalse(new FqNameUnsafe("").startsWith(new FqNameUnsafe("<>"))); + Assert.assertFalse(new FqNameUnsafe("").startsWith(new FqNameUnsafe(""))); + + Assert.assertFalse(new FqNameUnsafe("segment").startsWith(new FqNameUnsafe("<>"))); + Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("abcdef").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("abc").startsWith(new FqNameUnsafe(""))); + Assert.assertFalse(new FqNameUnsafe("abc.xyz").startsWith(new FqNameUnsafe(""))); + + Assert.assertFalse(new FqNameUnsafe(".def").startsWith(new FqNameUnsafe("."))); + Assert.assertTrue(new FqNameUnsafe("").startsWith(new FqNameUnsafe(""))); + Assert.assertTrue(new FqNameUnsafe(".").startsWith(new FqNameUnsafe(""))); + Assert.assertTrue(new FqNameUnsafe("").startsWith(new FqNameUnsafe(""))); + Assert.assertTrue(new FqNameUnsafe("<>.abc").startsWith(new FqNameUnsafe("<>"))); + } }