]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/intltest/numbertest_stringsegment.cpp
ICU-64232.0.1.tar.gz
[apple/icu.git] / icuSources / test / intltest / numbertest_stringsegment.cpp
index bb54781cb974deeb44d077ad5aea58a388abac16..dc5774fd3a7dd70bd388a83107aa9aafd967bebd 100644 (file)
@@ -24,7 +24,9 @@ void StringSegmentTest::runIndexedTest(int32_t index, UBool exec, const char*&na
 }
 
 void StringSegmentTest::testOffset() {
-    StringSegment segment(SAMPLE_STRING, false);
+    // Note: sampleString needs function scope so it is valid while the StringSegment is valid
+    UnicodeString sampleString(SAMPLE_STRING);
+    StringSegment segment(sampleString, false);
     assertEquals("Initial Offset", 0, segment.getOffset());
     segment.adjustOffset(3);
     assertEquals("Adjust A", 3, segment.getOffset());
@@ -35,7 +37,9 @@ void StringSegmentTest::testOffset() {
 }
 
 void StringSegmentTest::testLength() {
-    StringSegment segment(SAMPLE_STRING, false);
+    // Note: sampleString needs function scope so it is valid while the StringSegment is valid
+    UnicodeString sampleString(SAMPLE_STRING);
+    StringSegment segment(sampleString, false);
     assertEquals("Initial length", 11, segment.length());
     segment.adjustOffset(3);
     assertEquals("Adjust", 8, segment.length());
@@ -48,7 +52,9 @@ void StringSegmentTest::testLength() {
 }
 
 void StringSegmentTest::testCharAt() {
-    StringSegment segment(SAMPLE_STRING, false);
+    // Note: sampleString needs function scope so it is valid while the StringSegment is valid
+    UnicodeString sampleString(SAMPLE_STRING);
+    StringSegment segment(sampleString, false);
     assertEquals("Initial", SAMPLE_STRING, segment.toUnicodeString());
     assertEquals("Initial", SAMPLE_STRING, segment.toTempUnicodeString());
     segment.adjustOffset(3);
@@ -60,7 +66,9 @@ void StringSegmentTest::testCharAt() {
 }
 
 void StringSegmentTest::testGetCodePoint() {
-    StringSegment segment(SAMPLE_STRING, false);
+    // Note: sampleString needs function scope so it is valid while the StringSegment is valid
+    UnicodeString sampleString(SAMPLE_STRING);
+    StringSegment segment(sampleString, false);
     assertEquals("Double-width code point", 0x1F4FB, segment.getCodePoint());
     segment.setLength(1);
     assertEquals("Inalid A", -1, segment.getCodePoint());
@@ -72,7 +80,9 @@ void StringSegmentTest::testGetCodePoint() {
 }
 
 void StringSegmentTest::testCommonPrefixLength() {
-    StringSegment segment(SAMPLE_STRING, false);
+    // Note: sampleString needs function scope so it is valid while the StringSegment is valid
+    UnicodeString sampleString(SAMPLE_STRING);
+    StringSegment segment(sampleString, false);
     assertEquals("", 11, segment.getCommonPrefixLength(SAMPLE_STRING));
     assertEquals("", 4, segment.getCommonPrefixLength(u"📻 r"));
     assertEquals("", 3, segment.getCommonPrefixLength(u"📻 x"));