X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/d98c27bbb69e33587dde4a89dc5ee87eaa8c32d0..0868989592470c064bae35eea78a6d23669d1995:/fth/t_corex.fth diff --git a/fth/t_corex.fth b/fth/t_corex.fth index 3b07d89..f2b3f19 100644 --- a/fth/t_corex.fth +++ b/fth/t_corex.fth @@ -9,10 +9,6 @@ ANEW TASK-T_COREX.FTH DECIMAL -\ STUB because missing definition in pForth - FIXME -: SAVE-INPUT ; -: RESTORE-INPUT -1 ; - TEST{ \ ========================================================== @@ -155,7 +151,20 @@ T{ ' QUERY 0<> }T{ TRUE }T T{ ' REFILL 0<> }T{ TRUE }T \ ----------------------------------------------------- RESTORE-INPUT -T{ : T.SAVE-INPUT SAVE-INPUT RESTORE-INPUT ; T.SAVE-INPUT }T{ 0 }T \ EXPECTED FAILURE +T{ : T.SAVE-INPUT SAVE-INPUT RESTORE-INPUT ; T.SAVE-INPUT }T{ 0 }T + +\ TESTING SAVE-INPUT and RESTORE-INPUT with a string source + +VARIABLE SI_INC 0 SI_INC ! + +: SI1 + SI_INC @ >IN +! + 15 SI_INC ! +; + +: S$ S" SAVE-INPUT SI1 RESTORE-INPUT 12345" ; + +T{ S$ EVALUATE SI_INC @ }T{ 0 2345 15 }T \ ----------------------------------------------------- ROLL T{ 15 14 13 12 11 10 0 ROLL }T{ 15 14 13 12 11 10 }T @@ -281,6 +290,45 @@ T{ 0 MIN-INT 1+ -1 MIN-INT GD8 }T{ 1 }T T{ 0 MIN-INT 1+ 1 MIN-INT GD8 }T{ 2 }T T{ 0 MIN-INT 1+ DUP MIN-INT GD8 }T{ 1 }T +\ ---------------------------------------------------------------------------- +\ .( TESTING number prefixes # $ % and 'c' character input ) +\ Adapted from the Forth 200X Draft 14.5 document + +VARIABLE OLD-BASE +DECIMAL BASE @ OLD-BASE ! +T{ #1289 }T{ 1289 }T +T{ #-1289 }T{ -1289 }T +T{ $12eF }T{ 4847 }T +T{ $-12eF }T{ -4847 }T +T{ %10010110 }T{ 150 }T +T{ %-10010110 }T{ -150 }T +T{ 'z' }T{ 122 }T +T{ 'Z' }T{ 90 }T +\ Check BASE is unchanged +T{ BASE @ OLD-BASE @ = }T{ TRUE }T + +\ Repeat in Hex mode +16 OLD-BASE ! 16 BASE ! +T{ #1289 }T{ 509 }T +T{ #-1289 }T{ -509 }T +T{ $12eF }T{ 12EF }T +T{ $-12eF }T{ -12EF }T +T{ %10010110 }T{ 96 }T +T{ %-10010110 }T{ -96 }T +T{ 'z' }T{ 7a }T +T{ 'Z' }T{ 5a }T +\ Check BASE is unchanged +T{ BASE @ OLD-BASE @ = }T{ TRUE }T \ 2 + +DECIMAL +\ Check number prefixes in compile mode +T{ : nmp #8327 $-2cbe %011010111 ''' ; nmp }T{ 8327 -11454 215 39 }T + +\ ----------------------------------------------------- ENVIRONMENT? + +T{ s" unknown-query-string" ENVIRONMENT? }T{ FALSE }T +T{ s" MAX-CHAR" ENVIRONMENT? }T{ 255 TRUE }T +T{ s" ADDRESS-UNITS-BITS" ENVIRONMENT? }T{ 8 TRUE }T }TEST