aboutsummaryrefslogtreecommitdiff
path: root/tests/library/exp-string/program.cps
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-20 11:01:01 +0000
committer_ov4 <ov4@ov4.org>2026-10-20 11:01:01 +0000
commit65599524f5b41ffb6d8d55664611612c0b57ad47 (patch)
tree69eafa5e5651c13100c9509502efc1659b186d1c /tests/library/exp-string/program.cps
parent0c4db4fea1960571318444bd39593533b04b3716 (diff)
feat(library): add experimental string MID function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/library/exp-string/program.cps')
-rw-r--r--tests/library/exp-string/program.cps13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/library/exp-string/program.cps b/tests/library/exp-string/program.cps
index f8c037f..0b6c977 100644
--- a/tests/library/exp-string/program.cps
+++ b/tests/library/exp-string/program.cps
@@ -41,6 +41,7 @@ CALL _EXP_STRING_OUTPUT(Heap)
DELETE Heap
CALL CheckLeft()
CALL CheckRight()
+CALL CheckMid()
PROCEDURE CheckLeft()
DECLARE Letters : _EXP_STRING((C_STRING)"ABCDEFGH")
@@ -63,3 +64,15 @@ PROCEDURE CheckRight()
CALL _EXP_STRING_OUTPUT(_EXP_STRING_RIGHT(Letters, 20))
OUTPUT _EXP_STRING_LENGTH(_EXP_STRING_RIGHT(A & Nuls, 4))
ENDPROCEDURE
+
+PROCEDURE CheckMid()
+ DECLARE Letters : _EXP_STRING((C_STRING)"ABCDEFGH")
+ DECLARE Empty : _EXP_STRING
+ DECLARE Nuls : _EXP_STRING(3, (C_CHAR)'\0')
+ CALL _EXP_STRING_OUTPUT(_EXP_STRING_MID(Letters, 2, 3))
+ CALL _EXP_STRING_OUTPUT(_EXP_STRING_MID(Letters, -9223372036854775808, 2))
+ CALL _EXP_STRING_OUTPUT(_EXP_STRING_MID(Letters, 7, 9223372036854775807))
+ OUTPUT _EXP_STRING_LENGTH(_EXP_STRING_MID(Empty, 1, 2)), ":", _EXP_STRING_LENGTH(_EXP_STRING_MID(Letters, 9223372036854775807, 2))
+ OUTPUT _EXP_STRING_LENGTH(_EXP_STRING_MID(Letters, 2, 0)), ":", _EXP_STRING_LENGTH(_EXP_STRING_MID(Letters, 2, -1))
+ OUTPUT _EXP_STRING_LENGTH(_EXP_STRING_MID(Nuls & Letters, 2, 4))
+ENDPROCEDURE