: s= compare 0= ;
: $" state IF postpone s" else ['] s" execute THEN ; immediate
-
-\ FIXME: stubs for missing definition
-: flush-file drop -1 ;
-: resize-file drop 2drop -1 ;
-: rename-file 2drop 2drop -1 ;
+\ FIXME: stubs for missing definitions
: file-status 2drop 0 -1 ;
-
TESTING File Access word set
DECIMAL
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)
TESTING RENAME-FILE FILE-STATUS FLUSH-FILE
: FN3 S" fatest3.txt" ;
-: >END FID1 @ FILE-SIZE .s DROP FID1 @ REPOSITION-FILE ;
+: >END FID1 @ FILE-SIZE DROP FID1 @ REPOSITION-FILE ;
T{ FN3 DELETE-FILE DROP -> }T
T{ FN1 FILE-STATUS SWAP DROP 0= -> FALSE }T
T{ FN3 FILE-STATUS SWAP DROP 0= -> TRUE }T \ Return value is undefined
T{ FN3 R/W OPEN-FILE SWAP FID1 ! -> 0 }T
-\ nyi T{ >END -> 0 }T
-\ nyi T{ S" Final line" fid1 @ WRITE-LINE -> 0 }T
+T{ >END -> 0 }T
+T{ S" Final line" fid1 @ WRITE-LINE -> 0 }T
-\ nyi T{ FID1 @ FLUSH-FILE -> 0 }T \ Can only test FLUSH-FILE doesn't fail
-\ nyi T{ FID1 @ CLOSE-FILE -> 0 }T
+T{ FID1 @ FLUSH-FILE -> 0 }T \ Can only test FLUSH-FILE doesn't fail
+T{ FID1 @ CLOSE-FILE -> 0 }T
\ Tidy the test folder
T{ fn3 DELETE-FILE DROP -> }T
+\ ------------------------------------------------------------------------------
+TESTING REQUIRED REQUIRE INCLUDED
+\ Tests taken from Forth 2012 RfD
+
+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
+
\ ----------------------------------------------------------------------------
TESTING two buffers available for S" and/or S\" (Forth 2012)