USING: accessors alien alien.accessors arrays assocs byte-arrays
continuations debugger grouping io.streams.string kernel
kernel.private literals locals.backend math memory namespaces
-prettyprint sequences sequences.private tools.test words ;
+prettyprint sequences sequences.private tools.test vocabs.loader
+words ;
IN: kernel.tests
{ 0 } [ f size ] unit-test
{ 1 2 8 }
{ 1 2 9 }
}
-} [ 1 2 10 iota [ 3array ] 2with map ] unit-test
+} [ 1 2 10 <iota> [ 3array ] 2with map ] unit-test
+
! Don't leak extra roots if error is thrown
{ } [ 1000 [ [ 3 throw ] ignore-errors ] times ] unit-test
-{ } [ 1000 [ [ -1 f <array> ] ignore-errors ] times ] unit-test
+[ -1 f <array> ] must-fail
+{ } [ 10 [ [ -1 f <array> ] ignore-errors ] times ] unit-test
+! { } [ 1000 [ [ -1 f <array> ] ignore-errors ] times ] unit-test ! Travis CI fails
! Make sure we report the correct error on stack underflow
[ clear drop ] [
! Regression
: (loop) ( a b c d -- )
- [ pick ] dip swap [ pick ] dip swap
+ pickd swap pickd swap
< [ [ 1 + ] 3dip (loop) ] [ 4drop ] if ; inline recursive
: loop ( obj -- )
{ 1 2 3 1 2 3 } [ 1 2 3 3dup ] unit-test
{ 1 2 3 4 1 2 3 4 } [ 1 2 3 4 4dup ] unit-test
+
+{ 2 3 4 1 } [ 1 2 3 4 roll ] unit-test
+{ 1 2 3 4 } [ 2 3 4 1 -roll ] unit-test
+
+{ } [ "kernel" reload ] long-unit-test
\ No newline at end of file