From 1429db56bf2129744ad6e62f91c263762a0274e5 Mon Sep 17 00:00:00 2001
From: Scott Zhong <szhong@perforce.com>
Date: Fri, 12 Jul 2024 12:05:23 -0400
Subject: [PATCH] ICU-22833 Convert to hex encoding literals for UTF-32
 literals

`escapesrc` is unable to convert UTF-32 literal into escape
---
 icu4c/source/test/intltest/usettest.cpp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/icu4c/source/test/intltest/usettest.cpp b/icu4c/source/test/intltest/usettest.cpp
index b7bf21e436cb..440f46865957 100644
--- a/icu4c/source/test/intltest/usettest.cpp
+++ b/icu4c/source/test/intltest/usettest.cpp
@@ -4177,6 +4177,8 @@ void UnicodeSetTest::TestSkipToStrings() {
     assertFalse("no next", iter.next());
 }
 
+#include <assert.h>
+
 void UnicodeSetTest::TestPatternCodePointComplement() {
     IcuTestErrorCode errorCode(*this, "TestPatternCodePointComplement");
     // ICU-21524 changes pattern ^ and equivalent functions to perform a "code point complement".
@@ -4195,14 +4197,14 @@ void UnicodeSetTest::TestPatternCodePointComplement() {
         }
         assertTrue("[:^Basic_Emoji:] --> lots of elements", notBasic.size() > 1000);
         assertFalse("[:^Basic_Emoji:] --> no strings", notBasic.hasStrings());
-        assertFalse("[:^Basic_Emoji:] --> no bicycle", notBasic.contains(U'🚲'));
+        assertFalse("[:^Basic_Emoji:] --> no bicycle", notBasic.contains(U'\U0001F6B2'));
     }
 
     {
         UnicodeSet notBasic(u"[:Basic_Emoji=No:]", errorCode);
         assertTrue("[:Basic_Emoji=No:] --> lots of elements", notBasic.size() > 1000);
         assertFalse("[:Basic_Emoji=No:] --> no strings", notBasic.hasStrings());
-        assertFalse("[:Basic_Emoji=No:] --> no bicycle", notBasic.contains(U'🚲'));
+        assertFalse("[:Basic_Emoji=No:] --> no bicycle", notBasic.contains(U'\U0001F6B2'));
     }
 
     {
@@ -4213,7 +4215,7 @@ void UnicodeSetTest::TestPatternCodePointComplement() {
         assertFalse("[].applyIntPropertyValue(Basic_Emoji, 0) --> no strings",
                 notBasic.hasStrings());
         assertFalse("[].applyIntPropertyValue(Basic_Emoji, 0) --> no bicycle",
-                notBasic.contains(U'🚲'));
+                notBasic.contains(U'\U0001F6B2'));
     }
 
     {
@@ -4224,7 +4226,7 @@ void UnicodeSetTest::TestPatternCodePointComplement() {
         assertFalse("[].applyPropertyAlias(Basic_Emoji, No) --> no strings",
                 notBasic.hasStrings());
         assertFalse("[].applyPropertyAlias(Basic_Emoji, No) --> no bicycle",
-                notBasic.contains(U'🚲'));
+                notBasic.contains(U'\U0001F6B2'));
     }
 
     // When there are strings, we must not use the complement for a more compact toPattern().
@@ -4253,6 +4255,6 @@ void UnicodeSetTest::TestPatternCodePointComplement() {
         assertTrue("[:Basic_Emoji:].complement() --> has strings", notBasic.hasStrings());
         assertTrue("[:Basic_Emoji:].complement().contains(chipmunk+emoji)",
                 notBasic.contains(u"🐿\uFE0F"));
-        assertFalse("[:Basic_Emoji:].complement() --> no bicycle", notBasic.contains(U'🚲'));
+        assertFalse("[:Basic_Emoji:].complement() --> no bicycle", notBasic.contains(U'\U0001F6B2'));
     }
 }