! Make sure 24-bit strings work
"hello world" "s" set
-[ ] [ HEX: 1234 1 "s" get set-nth ] unit-test
-[ ] [ HEX: 4321 3 "s" get set-nth ] unit-test
-[ ] [ HEX: 654321 5 "s" get set-nth ] unit-test
+[ ] [ 0x1234 1 "s" get set-nth ] unit-test
+[ 0x1234 ] [ 1 "s" get nth ] unit-test
+
+[ ] [ 0x4321 3 "s" get set-nth ] unit-test
+[ 0x4321 ] [ 3 "s" get nth ] unit-test
+
+[ ] [ 0x654321 5 "s" get set-nth ] unit-test
+[ 0x654321 ] [ 5 "s" get nth ] unit-test
[
{
CHAR: h
- HEX: 1234
+ 0x1234
CHAR: l
- HEX: 4321
+ 0x4321
CHAR: o
- HEX: 654321
+ 0x654321
CHAR: w
CHAR: o
CHAR: r
"s" get >array
] unit-test
+! Make sure string initialization works
+[ 0x123456 ] [ 100 0x123456 <string> first ] unit-test
+
! Make sure we clear aux vector when storing octets
-[ "\u123456hi" ] [ "ih\u123456" clone dup reverse-here ] unit-test
+[ "\u123456hi" ] [ "ih\u123456" clone reverse! ] unit-test
! Make sure aux vector is not shared
[ "\udeadbe" ] [
drop
300 100 CHAR: \u123456
[ <string> clone resize-string first ] keep =
- ] all?
+ ] all-integers?
] unit-test
+
+"X" "s" set
+[ ] [ 0x100,0000 0 "s" get set-nth ] unit-test
+[ 0 ] [ 0 "s" get nth ] unit-test
+
+[ ] [ -1 0 "s" get set-nth ] unit-test
+[ 0x7fffff ] [ 0 "s" get nth ] unit-test