Update release notes for v2.0.0
[debian/pforth] / fth / t_file.fth
index 5f9e3259ef3420aced5084bfc6f4f071692176d6..a947d826a1c40f7f8098c989788ef600931096d2 100644 (file)
@@ -60,7 +60,7 @@ include? }T{  t_tools.fth
 
 true fp-require-e !
 
-true value verbose
+false value verbose
 
 : testing
     verbose IF
@@ -73,14 +73,6 @@ true value verbose
 : 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 ;
-: file-status 2drop 0 -1 ;
-
-
 TESTING File Access word set
 
 DECIMAL
@@ -106,7 +98,7 @@ T{ LINE1 FID1 @ WRITE-LINE -> 0 }T
 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
@@ -219,12 +211,12 @@ T{ FN2 R/W BIN OPEN-FILE SWAP DROP 0= -> FALSE }T
 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)
 
@@ -234,7 +226,7 @@ T{ SOURCE-ID DUP -1 = SWAP 0= OR -> FALSE }T
 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
@@ -242,24 +234,37 @@ T{ FN1 FN3 RENAME-FILE 0= -> TRUE }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 two buffers available for S" and/or S\" (Forth 2012)
+\ ------------------------------------------------------------------------------
+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
 
-: 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 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
@@ -305,7 +310,7 @@ VARIABLE SI_INC 0 SI_INC !
 
 : 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