29package com.jogamp.common.util;
31import org.junit.Assert;
35import static com.jogamp.common.util.ValueConv.*;
40import org.junit.FixMethodOrder;
41import org.junit.runners.MethodSorters;
43@FixMethodOrder(MethodSorters.NAME_ASCENDING)
57 Assert.assertEquals( 5,
StringUtil.
indexOf((CharSequence)
"Hello\nJogAmp\n",
'\n', 0));
58 Assert.assertEquals(12,
StringUtil.
indexOf((CharSequence)
"Hello\nJogAmp\n",
'\n', 6));
76 Assert.assertEquals(
"Hello",
StringUtil.
trim(
"Hello",
null,
null));
77 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"Hello JogAmp",
null,
null));
78 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
" Hello JogAmp ",
null,
null));
79 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"Hello JogAmp",
null,
null));
80 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
" Hello JogAmp ",
null,
null));
82 final String seperators =
" \t\n\r";
85 Assert.assertEquals(
"Hello",
StringUtil.
trim(
"Hello", seperators,
null));
86 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"Hello JogAmp", seperators,
null));
87 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
" Hello JogAmp ", seperators,
null));
88 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"Hello JogAmp", seperators,
null));
89 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
" Hello JogAmp ", seperators,
null));
91 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"\tHello JogAmp\n", seperators,
null));
92 Assert.assertEquals(
"Hello\tJogAmp",
StringUtil.
trim(
"Hello\t\tJogAmp", seperators,
null));
93 Assert.assertEquals(
"Hello JogAmp",
StringUtil.
trim(
"Hello \tJogAmp", seperators,
null));
94 Assert.assertEquals(
"Hello\nJogAmp",
StringUtil.
trim(
"\t Hello\n\tJogAmp \n", seperators,
null));
97 final String replacement =
"Z";
100 Assert.assertEquals(
"Hello",
StringUtil.
trim(
"Hello",
null, replacement));
101 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello JogAmp",
null, replacement));
102 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
" Hello JogAmp ",
null, replacement));
103 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello JogAmp",
null, replacement));
104 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
" Hello JogAmp ",
null, replacement));
106 final String IDIOSPC = String.valueOf(Character.toChars(0x3000));
108 Assert.assertEquals(
"",
StringUtil.
trim(
null, seperators, replacement));
109 Assert.assertEquals(
"",
StringUtil.
trim(
"", seperators, replacement));
110 Assert.assertEquals(
"Hello",
StringUtil.
trim(
"Hello", seperators, replacement));
111 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello JogAmp", seperators, replacement));
112 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
" Hello"+IDIOSPC+
"JogAmp ", seperators, replacement));
113 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello JogAmp", seperators, replacement));
114 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
" Hello JogAmp ", seperators, replacement));
116 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"\tHello JogAmp\n", seperators, replacement));
117 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello\t\tJogAmp", seperators, replacement));
118 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"Hello \tJogAmp", seperators, replacement));
119 Assert.assertEquals(
"HelloZJogAmp",
StringUtil.
trim(
"\t Hello\n\tJogAmp \n", seperators, replacement));
136 final String orig =
"I like to ride my bicycle if its without any batteries";
138 Assert.assertEquals(
"I like to ride my bicycleZZif its without any batteries",
StringUtil.
split(orig, 2,
null,
"ZZ"));
139 Assert.assertEquals(
"I like to ride myZZbicycle if its withoutZZany batteries",
StringUtil.
split(orig, 3,
null,
"ZZ"));
140 Assert.assertEquals(
"I like to ride myZZbicycle if its withoutZZany batteries",
StringUtil.
split(orig, 3,
null,
"ZZ"));
153 final String IDIOSPC = String.valueOf(Character.toChars(0x3000));
154 final String orig =
"I like to ride my"+IDIOSPC+
"bicycle\tif its without"+IDIOSPC+
"any batteries";
161 final String orig =
"您好,我来自英国政府,给您带来了一个好消息。";
166 Assert.assertEquals(
"您好,我来自英国政府,给您带来了一个好消息。",
StringUtil.
split(orig, 2,
null,
"ZZ"));
167 Assert.assertEquals(
"您好,我来自英国政府ZZ给您带来了一个好消息。",
StringUtil.
split(orig, 2,
"\t ,",
"ZZ"));
168 final String orig2 = orig.replace(
",",
", ");
169 Assert.assertEquals(
"您好, 我来自英国政府,ZZ给您带来了一个好消息。",
StringUtil.
split(orig2, 2,
null,
"ZZ"));
173 public static void main(
final String args[]) {
Basic utility functions for String and CharSequence in general.
static boolean hasSpace(final int cp)
Returns true if given codepoint is either isFullwidth(int), isHalfwidth(int) or isWhitespace(int).
static List< String > split(final String text, final int lineCount, final String separators)
Returns an array of split text at separators or whitespace.
static int getLineCount(final CharSequence s)
Returns number of lines, i.e.
static final String WHITESPACE
List of ASCII & Unicode space separator, aka Whitespace.
static String trim(final String text, final String separators, final String replacement)
Remove all leading, trailing and duplicate-within separators unicode character from the text.
static boolean isFullwidth(final int cp)
Returns true if given codepoint is a fullwidth unicode character.
static int indexOf(final String hay, final int needle, final int start)
Calls String#indexOf(int, int).
static void main(final String args[])