From 48dfa97f97c6936d14f0dca5a1be1cd2428eee0d Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 27 Aug 2011 16:44:59 -0700 Subject: [PATCH] nibble-arrays: -1 should throw an error --- basis/nibble-arrays/nibble-arrays-tests.factor | 2 ++ basis/nibble-arrays/nibble-arrays.factor | 3 +++ 2 files changed, 5 insertions(+) diff --git a/basis/nibble-arrays/nibble-arrays-tests.factor b/basis/nibble-arrays/nibble-arrays-tests.factor index 363f30678d..92a38e509b 100644 --- a/basis/nibble-arrays/nibble-arrays-tests.factor +++ b/basis/nibble-arrays/nibble-arrays-tests.factor @@ -1,6 +1,8 @@ USING: nibble-arrays tools.test sequences kernel math ; IN: nibble-arrays.tests +[ -1 ] [ T{ bad-array-length f -1 } = ] must-fail-with + [ t ] [ 16 iota dup >nibble-array sequence= ] unit-test [ N{ 4 2 1 3 } ] [ N{ 3 1 2 4 } reverse ] unit-test [ N{ 1 4 9 0 9 4 } ] [ N{ 1 2 3 4 5 6 } [ sq ] map ] unit-test diff --git a/basis/nibble-arrays/nibble-arrays.factor b/basis/nibble-arrays/nibble-arrays.factor index 712b62f20b..0e7298165c 100644 --- a/basis/nibble-arrays/nibble-arrays.factor +++ b/basis/nibble-arrays/nibble-arrays.factor @@ -30,7 +30,10 @@ CONSTANT: nibble BIN: 1111 PRIVATE> +ERROR: bad-array-length n ; + : ( n -- nibble-array ) + dup 0 < [ bad-array-length ] when dup nibbles>bytes nibble-array boa ; inline M: nibble-array length length>> ; -- 2.34.1