true fp-require-e !
-true value verbose
+false value verbose
: testing
verbose IF
: s= compare 0= ;
: $" state IF postpone s" else ['] s" execute THEN ; immediate
-\ FIXME: stubs for missing definitions
-: resize-file drop 2drop -1 ;
-: file-status 2drop 0 -1 ;
-
TESTING File Access word set
DECIMAL
T{ FID1 @ CLOSE-FILE -> 0 }T
\ ----------------------------------------------------------------------------
-TESTING R/O FILE-POSITION (simple) READ-LINE
+TESTING R/O FILE-POSITION (simple) READ-LINE
200 CONSTANT BSIZE
CREATE BUF BSIZE ALLOT
T{ FN2 DELETE-FILE 0= -> FALSE }T
\ ----------------------------------------------------------------------------
-\ TESTING multi-line ( comments
-\
-\ T{ ( 1 2 3
-\ 4 5 6
-\ 7 8 9 ) 11 22 33 -> 11 22 33 }T
-\
+TESTING multi-line ( comments
+
+T{ ( 1 2 3
+4 5 6
+7 8 9 ) 11 22 33 -> 11 22 33 }T
+
\ ----------------------------------------------------------------------------
TESTING SOURCE-ID (can only test it does not return 0 or -1)
\ Tidy the test folder
T{ fn3 DELETE-FILE DROP -> }T
-\ ----------------------------------------------------------------------------
-TESTING two buffers available for S" and/or S\" (Forth 2012)
+\ ------------------------------------------------------------------------------
+TESTING REQUIRED REQUIRE INCLUDED
+\ Tests taken from Forth 2012 RfD
-: SSQ12 S" abcd" ; : SSQ13 S" 1234" ;
-T{ S" abcd" S" 1234" SSQ13 S= ROT ROT SSQ12 S= -> TRUE TRUE }T
-\ nyi T{ S\" abcd" S\" 1234" SSQ13 S= ROT ROT SSQ12 S= -> TRUE TRUE }T
-\ nyi T{ S" abcd" S\" 1234" SSQ13 S= ROT ROT SSQ12 S= -> TRUE TRUE }T
-\ nyi T{ S\" abcd" S" 1234" SSQ13 S= ROT ROT SSQ12 S= -> TRUE TRUE }T
+T{ 0 S" t_required_helper1.fth" REQUIRED
+ REQUIRE t_required_helper1.fth
+ INCLUDE t_required_helper1.fth
+ -> 2 }T
+
+T{ 0 INCLUDE t_required_helper2.fth
+ S" t_required_helper2.fth" REQUIRED
+ REQUIRE t_required_helper2.fth
+ S" t_required_helper2.fth" INCLUDED
+ -> 2 }T
+
+\ ----------------------------------------------------------------------------
+T{ : GC4 S" XY" ; }T{ }T
+T{ GC4 SWAP DROP }T{ 2 }T
+T{ GC4 DROP DUP C@ SWAP CHAR+ C@ }T{ $ 58 $ 59 }T
+: GC5 S" A String"2DROP ; \ There is no space between the " and 2DROP
+T{ GC5 }T{ }T
\ -----------------------------------------------------------------------------
TESTING SAVE-INPUT and RESTORE-INPUT with a file source
: S$ S" SAVE-INPUT SI1 RESTORE-INPUT 12345" ;
-CREATE 2RES -1 , -1 , \ Don't use 2VARIABLE from Double number word set
+CREATE 2RES -1 , -1 , \ Don't use 2VARIABLE from Double number word set
: SI2
READ_A_LINE