< prev index next >

test/jdk/java/lang/StringBuilder/CompactStringBuilder.java

Print this page
rev 51977 : [mq]: 8211350-no-jprt


 379         sb.setCharAt(index, ch);
 380         check(sb, expected);
 381     }
 382 
 383     private void checkSetLength(StringBuilder sb, int newLength, String expected) {
 384         sb.setLength(newLength);
 385         check(sb, expected);
 386     }
 387 
 388     private void check(StringBuilder sb, String expected) {
 389         check(sb.toString(), expected);
 390     }
 391 
 392     private void check(String str, String expected) {
 393         assertTrue(str.equals(expected), String.format(
 394                 "Get (%s) but expect (%s), ", escapeNonASCIIs(str),
 395                 escapeNonASCIIs(expected)));
 396     }
 397 
 398     /*
 399      * Because right now system default charset in JPRT environment is only
 400      * guaranteed to support ASCII characters in log, so we escape them.
 401      */
 402     private String escapeNonASCIIs(String str) {
 403         StringBuilder sb = new StringBuilder();
 404         for (int i = 0; i < str.length(); i++) {
 405             char c = str.charAt(i);
 406             if (c > 0x7F) {
 407                 sb.append("\\u").append(Integer.toHexString((int) c));
 408             } else {
 409                 sb.append(c);
 410             }
 411         }
 412         return sb.toString();
 413     }
 414 }


 379         sb.setCharAt(index, ch);
 380         check(sb, expected);
 381     }
 382 
 383     private void checkSetLength(StringBuilder sb, int newLength, String expected) {
 384         sb.setLength(newLength);
 385         check(sb, expected);
 386     }
 387 
 388     private void check(StringBuilder sb, String expected) {
 389         check(sb.toString(), expected);
 390     }
 391 
 392     private void check(String str, String expected) {
 393         assertTrue(str.equals(expected), String.format(
 394                 "Get (%s) but expect (%s), ", escapeNonASCIIs(str),
 395                 escapeNonASCIIs(expected)));
 396     }
 397 
 398     /*
 399      * Escape non-ASCII characters since not all systems support them.

 400      */
 401     private String escapeNonASCIIs(String str) {
 402         StringBuilder sb = new StringBuilder();
 403         for (int i = 0; i < str.length(); i++) {
 404             char c = str.charAt(i);
 405             if (c > 0x7F) {
 406                 sb.append("\\u").append(Integer.toHexString((int) c));
 407             } else {
 408                 sb.append(c);
 409             }
 410         }
 411         return sb.toString();
 412     }
 413 }
< prev index next >