home: hub: 9ficl

ref: 778af2c25383b3571a79951e4ada36b15d4c0ff8
dir: /test/ficltest.fr/

View raw version
\ test file for ficl
\ test ANSI CORE stuff first...
-1 set-order
load tester.fr
load core.fr

\ Now test ficl extras and optional word-sets
testing :noname
{ -> }
{ :noname 1 ; execute -> 1 }
{ 1 2 3 -rot -> 3 1 2 }

testing default search order
{ get-order -> forth-wordlist 1 }
{ only definitions get-order -> forth-wordlist 1 }

testing forget
here constant fence
{ fence forget fence -> here }

testing within
{ -1 1 0    within -> true }
{  0 1s 2   within -> true }
{ -100 0 -1 within -> true }
{ -1 1 2    within -> false }
{ -1 1 -2   within -> false }
{ 1 -5 5    within -> true }
{ 33000 32000 34000 within -> true }
{ 0x80000000 0x7f000000 0x81000000 within -> true }

testing exception words
: exc1 1 throw ;
: exctest1 [ ' exc1 ] literal catch ;
: exc2 exctest1 1 = if 2 throw endif ;
: exctest2 [ ' exc2 ] literal catch ;
: exctest? ' catch ;

{ exctest1 -> 1 }
{ exctest2 -> 2 }
{ exctest? abort -> -1 }