blob: 43a7a050ca87b85f644ded9d0be1721bfea42670 [file] [log] [blame]
class StringTests // JDK 21+ (--enable-preview --release 21).
{
static {
String s1 = "A quick brown fox jumps over the lazy dog";
String s2 = "\"Woof\s!\"";
String s3 = """
A\s\
quick \
brown\s\
fox \
jumps\s\
over \
the\s\
lazy \
dog""";
String s4 = """
"Woof\s!\"""";
String s5 = """
String s3 = \"""
A\\s\\
quick \\
brown\\s\\
fox \\
jumps\\s\\
over \\
the\\s\\
lazy \\
dog\""";""";
// There are SPACE, FF, HT, CR, and LF after """.
String empty = """
""";
System.out.println("""
"
""
""\u005c"
""\u005c""
""\"\u0022\u0022
""\"""\u005c\u0022
""\"""\""
""\"""\""\"""");
System.out.println(STR."""
"
\{"\"\""}
\{"\"\""}\{"\u005c\u0022"}
\{"\"\""}\{"\u005c\u0022"}"
\{"\"\""}\"\{"\u005c\u0022\u005c\u0022"}
\{"\"\""}\"\{"\"\""}\{"\u005c\u0022"}
\{"\"\""}\"\{"\"\""}\""
\{"\"\""}\"\{"\"\""}\""\""""); // JDK 21+.
String woof = "Woof", dog = "dog", fox = "fox";
String s6 = STR
."A quick brown \{fox} jumps over the lazy \{dog}";
String s7 = STR.process(StringTemplate.RAW
."\"\{woof}\s!\"");
String s8 = STR."""
A\s\
quick \
brown\s\
\{fox} \
jumps\s\
over \
the\s\
lazy \
\{dog}""";
String s9 = STR.process(StringTemplate.RAW
.
"""
"\{woof}\s!\"""");
String s10 = java.util.FormatProcessor.FMT
. "%-14s\{"A\s" + STR . "quick" + "brown"}%s\{fox} "
+ java.util.FormatProcessor.FMT
. "%-20s\{"jumps\sover the\s"
+ STR . "lazy"}%s\{dog}";
String s11 = STR."""
\"\{ // A nested comment.
(new java.util.function.Function<String, String>() {
public String apply(String bay) { return bay; };
}).apply(woof)
}\s!\"""";
String s12 = java.util.FormatProcessor.FMT
."""
%-14s\{STR."""
A\s\
\{ "quick" } \
brown"""}\
%s\{ fox } \
%-20s\{STR."""
jumps\s\
over \
the\s\
\{ "lazy" } """}\
%s\{ dog }""";
String s13 = STR
."\"\{ /* A nested comment. */
((java.util.function.Function<String, String>) bay -> bay)
.apply(woof)
}\s!\"";
}
}