Skip to content

Commit f0c370e

Browse files
committed
Fix names of UTF-16 surrogate character test fixture constants
- Different, simpler solution from PR 1326
1 parent 17ba8b9 commit f0c370e

File tree

2 files changed

+53
-35
lines changed

2 files changed

+53
-35
lines changed

src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
import static org.apache.commons.lang3.Supplementary.CharU20000;
2020
import static org.apache.commons.lang3.Supplementary.CharU20001;
21-
import static org.apache.commons.lang3.Supplementary.CharUSuppCharHigh;
2221
import static org.apache.commons.lang3.Supplementary.CharUSuppCharLow;
22+
import static org.apache.commons.lang3.Supplementary.CharUSuppCharHigh;
2323
import static org.junit.jupiter.api.Assertions.assertEquals;
2424
import static org.junit.jupiter.api.Assertions.assertFalse;
2525
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -66,13 +66,13 @@ public void testContains_String() {
6666
@Test
6767
public void testContains_StringWithBadSupplementaryChars() {
6868
// Test edge case: 1/2 of a (broken) supplementary char
69-
assertFalse(StringUtils.contains(CharUSuppCharHigh, CharU20001));
7069
assertFalse(StringUtils.contains(CharUSuppCharLow, CharU20001));
71-
assertFalse(StringUtils.contains(CharU20001, CharUSuppCharHigh));
72-
assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
73-
assertTrue(StringUtils.contains(CharU20001, CharUSuppCharLow));
74-
assertTrue(StringUtils.contains(CharU20001 + CharUSuppCharLow + "a", "a"));
70+
assertFalse(StringUtils.contains(CharUSuppCharHigh, CharU20001));
71+
assertFalse(StringUtils.contains(CharU20001, CharUSuppCharLow));
72+
assertEquals(0, CharU20001.indexOf(CharUSuppCharHigh));
73+
assertTrue(StringUtils.contains(CharU20001, CharUSuppCharHigh));
7574
assertTrue(StringUtils.contains(CharU20001 + CharUSuppCharHigh + "a", "a"));
75+
assertTrue(StringUtils.contains(CharU20001 + CharUSuppCharLow + "a", "a"));
7676
}
7777

7878
/**
@@ -110,13 +110,13 @@ public void testContainsAny_StringCharArray() {
110110
@Test
111111
public void testContainsAny_StringCharArrayWithBadSupplementaryChars() {
112112
// Test edge case: 1/2 of a (broken) supplementary char
113-
assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001.toCharArray()));
114-
assertFalse(StringUtils.containsAny("abc" + CharUSuppCharHigh + "xyz", CharU20001.toCharArray()));
115-
assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
116113
assertFalse(StringUtils.containsAny(CharUSuppCharLow, CharU20001.toCharArray()));
117-
assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharHigh.toCharArray()));
118-
assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
119-
assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharLow.toCharArray()));
114+
assertFalse(StringUtils.containsAny("abc" + CharUSuppCharLow + "xyz", CharU20001.toCharArray()));
115+
assertEquals(-1, CharUSuppCharHigh.indexOf(CharU20001));
116+
assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001.toCharArray()));
117+
assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharLow.toCharArray()));
118+
assertEquals(0, CharU20001.indexOf(CharUSuppCharHigh));
119+
assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharHigh.toCharArray()));
120120
}
121121

122122
/**
@@ -184,12 +184,12 @@ public void testContainsAny_StringStringArray() {
184184
@Test
185185
public void testContainsAny_StringWithBadSupplementaryChars() {
186186
// Test edge case: 1/2 of a (broken) supplementary char
187-
assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001));
188-
assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
189187
assertFalse(StringUtils.containsAny(CharUSuppCharLow, CharU20001));
190-
assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharHigh));
191-
assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
192-
assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharLow));
188+
assertEquals(-1, CharUSuppCharHigh.indexOf(CharU20001));
189+
assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001));
190+
assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharLow));
191+
assertEquals(0, CharU20001.indexOf(CharUSuppCharHigh));
192+
assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharHigh));
193193
}
194194

195195
/**
@@ -317,13 +317,13 @@ public void testContainsNone_CharArray() {
317317
@Test
318318
public void testContainsNone_CharArrayWithBadSupplementaryChars() {
319319
// Test edge case: 1/2 of a (broken) supplementary char
320-
assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001.toCharArray()));
321-
assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
322320
assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001.toCharArray()));
323-
assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh));
324-
assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh.toCharArray()));
325-
assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
326-
assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow.toCharArray()));
321+
assertEquals(-1, CharUSuppCharHigh.indexOf(CharU20001));
322+
assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001.toCharArray()));
323+
assertEquals(-1, CharU20001.indexOf(CharUSuppCharLow));
324+
assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharLow.toCharArray()));
325+
assertEquals(0, CharU20001.indexOf(CharUSuppCharHigh));
326+
assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharHigh.toCharArray()));
327327
}
328328

329329
/**
@@ -374,13 +374,13 @@ public void testContainsNone_String() {
374374
@Test
375375
public void testContainsNone_StringWithBadSupplementaryChars() {
376376
// Test edge case: 1/2 of a (broken) supplementary char
377-
assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001));
378-
assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
379377
assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001));
380-
assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh));
381-
assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh));
382-
assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
383-
assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow));
378+
assertEquals(-1, CharUSuppCharHigh.indexOf(CharU20001));
379+
assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001));
380+
assertEquals(-1, CharU20001.indexOf(CharUSuppCharLow));
381+
assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharLow));
382+
assertEquals(0, CharU20001.indexOf(CharUSuppCharHigh));
383+
assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharHigh));
384384
}
385385

386386
/**

src/test/java/org/apache/commons/lang3/Supplementary.java

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,42 @@ public class Supplementary {
2626

2727
/**
2828
* Supplementary character U+20000 See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
29+
* <p>
30+
* The UTF-16 character encoding scheme is {@code [high-surrogates][low-surrogates]}.
31+
* </p>
32+
* <p>
33+
* Supplementary characters are encoded in two code units, the first from the high-surrogates range (U+D800 to U+DBFF), the second from the low-surrogates
34+
* range (U+DC00 to U+DFFF).
35+
* </p>
2936
*/
3037
static final String CharU20000 = "\uD840\uDC00";
3138

3239
/**
3340
* Supplementary character U+20001 See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
41+
* <p>
42+
* The UTF-16 character encoding scheme is {@code [high-surrogates][low-surrogates]}.
43+
* </p>
44+
* <p>
45+
* Supplementary characters are encoded in two code units, the first from the high-surrogates range (U+D800 to U+DBFF), the second from the low-surrogates
46+
* range (U+DC00 to U+DFFF).
47+
* </p>
3448
*/
3549
static final String CharU20001 = "\uD840\uDC01";
3650

3751
/**
38-
* Incomplete supplementary character U+20000, high surrogate only. See
39-
* https://www.oracle.com/technical-resources/articles/javase/supplementary.html
52+
* Incomplete supplementary character U+20000, <em>high surrogate only</em>.
53+
* <p>
54+
* See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
55+
* </p>
4056
*/
41-
static final String CharUSuppCharHigh = "\uDC00";
57+
static final String CharUSuppCharHigh = "\uD840";
4258

4359
/**
44-
* Incomplete supplementary character U+20000, low surrogate only. See
45-
* https://www.oracle.com/technical-resources/articles/javase/supplementary.html
60+
* Incomplete supplementary character U+20000, <em>low surrogate only</em>.
61+
* <p>
62+
* See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
63+
* </p>
4664
*/
47-
static final String CharUSuppCharLow = "\uD840";
65+
static final String CharUSuppCharLow = "\uDC00";
4866

4967
}

0 commit comments

Comments
 (0)