commit 46b564c

Devie Lu Linvega  ·  2025-12-23 19:10:56 +0000 UTC
parent de13ad7
Improved file tests
1 files changed,  +54, -23
+54, -23
  1@@ -6,8 +6,11 @@
  2 |100
  3 
  4 @on-reset ( -> )
  5-	file/<create>
  6-	file/<load>
  7+	file/test-create <print-res>
  8+	file/test-append <print-res>
  9+	file/test-load <print-res>
 10+	file/test-stat <print-res>
 11+	BRK
 12 	#0004 .File/success DEI2 NEQ2 ?fail
 13 	;file/a1 LDA2 ;file/a2 LDA2 NEQ2 ?fail
 14 	;dict/load str/<print>
 15@@ -24,35 +27,56 @@
 16 	#800f DEO
 17 	BRK
 18 
 19-@fail ( -> )
 20-	;dict/failed str/<print>
 21-	#010f DEO
 22-	BRK
 23-
 24-(
 25-@|File )
 26-
 27-@file/<create> ( -- )
 28-	;&name .File/name DEO2
 29+@file/test-create ( -- pass )
 30+	;dict/create str/<print>
 31+	;file/name .File/name DEO2
 32 	#0002 .File/length DEO2
 33-	;&a1 .File/write DEO2
 34-	( | append )
 35-	;&name .File/name DEO2
 36+	;file/a1 .File/write DEO2
 37+	.File/success DEI2 #0002 EQU2 JMP2r
 38+
 39+@file/test-append ( -- pass )
 40+	;dict/append str/<print>
 41+	;file/name .File/name DEO2
 42 	#0002 .File/length DEO2
 43 	#01 .File/append DEO
 44-	;&b1 .File/write DEO2
 45-	JMP2r
 46+	;file/b1 .File/write DEO2
 47+	.File/success DEI2 #0002 EQU2 JMP2r
 48 
 49-@file/<load> ( -- )
 50+@file/test-load ( -- pass )
 51+	;dict/load str/<print>
 52 	;&name .File/name DEO2
 53-	( two more bytes than max length ) #0006 .File/length DEO2
 54+	( 4+2 ) #0006 .File/length DEO2
 55 	;&load-buf .File/read DEO2
 56+	( success ) .File/success DEI2 #0004 EQU2
 57+	( a ) ;file/a1 LDA2 ;file/a2 LDA2 EQU2 AND
 58+	( b ) ;file/b1 LDA2 ;file/b2 LDA2 EQU2 AND JMP2r
 59+
 60+@file/test-stat ( -- pass )
 61+	;dict/stat str/<print>
 62+	;&name .File/name DEO2
 63+	#0004 .File/length DEO2
 64+	;file/stat-buf .File/stat DEO2
 65+	( success ) .File/success DEI2 #0004 EQU2
 66+	( a ) ;file/stat-hs LDA2 LIT2 "00 EQU2 AND
 67+	( b ) ;file/stat-ls LDA2 LIT2 "04 EQU2 AND JMP2r
 68 	JMP2r
 69 
 70+@<print-res> ( pass -- )
 71+	?{ ;dict/fail !str/<print> }
 72+	;dict/pass !str/<print>
 73+
 74+@fail ( -> )
 75+	;dict/failed str/<print>
 76+	#010f DEO
 77+	BRK
 78+
 79+(
 80+@|File )
 81+
 82 @file/<stat> ( buf* -- )
 83 	;&name .File/name DEO2
 84 	#0004 .File/length DEO2
 85-	.File/stat DEO2
 86+	;file/stat-buf .File/stat DEO2
 87 	JMP2r
 88 
 89 @file/<delete> ( -- )
 90@@ -65,6 +89,10 @@
 91 (
 92 @|Utils )
 93 
 94+@test ( f -- )
 95+	?{ ;dict/fail !str/<print> }
 96+	;dict/pass !str/<print>
 97+
 98 @str/<print> ( str* -- )
 99 	LDAk DUP ?{ POP POP2 JMP2r }
100 	#18 DEO
101@@ -74,10 +102,13 @@
102 @|Data )
103 
104 @dict/failed "File: 20 "fail 0a $1
105-	&load "File/load: 20 "pass 0a $1
106-	&append "File/append: 20 "pass 0a $1
107-	&stat "File/stat: 20 "pass 0a $1
108+	&create "File/create: 20 $1
109+	&append "File/append: 20 $1
110+	&load "File/load: 20 $1
111+	&stat "File/stat: 20 $1
112 	&delete "File/delete: 20 "pass 0a $1
113+	&fail "fail 0a $1
114+	&pass "pass 0a $1
115 
116 @file/data &a1 1234 &b1 5678
117 	( load buf ) &load-buf &a2 $2 &b2 $2