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