| 1234567891011121314151617181920212223 |
- MODULE TUStrAssign;
- (* UString whole-string assignment: U"..." copies into a 1-D
- ARRAY OF UCHAR by content (count-clamped, 0-codepoint terminator).
- Exit 63. *)
- VAR ExitCode : INTEGER;
- VAR a : ARRAY [0 .. 7] OF UCHAR;
- VAR b : ARRAY [0 .. 1] OF UCHAR;
- CONST Term = 0;
- BEGIN
- a := U"hi";
- IF a[0] = U'h' THEN ExitCode := ExitCode + 1 ELSE ExitCode := 100 END;
- IF a[1] = U'i' THEN ExitCode := ExitCode + 2 ELSE ExitCode := 101 END;
- IF UORD(a[2]) = Term THEN ExitCode := ExitCode + 4 ELSE ExitCode := 102 END;
- (* capacity 2: U"abc" truncates to 2 codepoints *)
- b := U"abc";
- IF b[0] = U'a' THEN ExitCode := ExitCode + 8 ELSE ExitCode := 103 END;
- IF b[1] = U'b' THEN ExitCode := ExitCode + 16 ELSE ExitCode := 104 END;
- (* non-ASCII codepoint round-trips *)
- a := U"hé";
- IF a[1] = U'é' THEN ExitCode := ExitCode + 32 ELSE ExitCode := 105 END
- END TUStrAssign.
|