string_unicode_escape.gravity 616 B

123456789101112131415161718192021222324252627
  1. #unittest {
  2. name: "Unicode escape sequences in strings.";
  3. error: NONE;
  4. result: true;
  5. };
  6. func main() {
  7. // ASCII via unicode escape
  8. var s1 = "\u0041"; // 'A'
  9. var r1 = (s1 == "A");
  10. // 2-byte UTF-8 (Latin chars with accents)
  11. var s2 = "\u00E9"; // e-acute
  12. var r2 = (s2.bytes == 2);
  13. var r3 = (s2.length == 1);
  14. // 3-byte UTF-8 (CJK character)
  15. var s3 = "\u4E16"; // Chinese char for 'world'
  16. var r4 = (s3.bytes == 3);
  17. var r5 = (s3.length == 1);
  18. // Multiple unicode escapes together
  19. var s4 = "\u0048\u0065\u006C\u006C\u006F";
  20. var r6 = (s4 == "Hello");
  21. return r1 and r2 and r3 and r4 and r5 and r6;
  22. }