@@ -251,6 +251,11 @@ testArray = do
251251 assert $ (A .takeWhile (_ /= 3 ) [1 , 2 , 3 ]) == [1 , 2 ]
252252 assert $ (A .takeWhile (_ /= 1 ) nil) == nil
253253
254+ log " take should keep the specified number of items from the end of an array, discarding the rest"
255+ assert $ (A .takeEnd 1 [1 , 2 , 3 ]) == [3 ]
256+ assert $ (A .takeEnd 2 [1 , 2 , 3 ]) == [2 , 3 ]
257+ assert $ (A .takeEnd 1 nil) == nil
258+
254259 log " drop should remove the specified number of items from the front of an array"
255260 assert $ (A .drop 1 [1 , 2 , 3 ]) == [2 , 3 ]
256261 assert $ (A .drop 2 [1 , 2 , 3 ]) == [3 ]
@@ -261,6 +266,11 @@ testArray = do
261266 assert $ (A .dropWhile (_ /= 2 ) [1 , 2 , 3 ]) == [2 , 3 ]
262267 assert $ (A .dropWhile (_ /= 1 ) nil) == nil
263268
269+ log " drop should remove the specified number of items from the end of an array"
270+ assert $ (A .dropEnd 1 [1 , 2 , 3 ]) == [1 , 2 ]
271+ assert $ (A .dropEnd 2 [1 , 2 , 3 ]) == [1 ]
272+ assert $ (A .dropEnd 1 nil) == nil
273+
264274 log " take and drop should treat negative arguments as zero"
265275 assert $ (A .take (-2 ) [1 , 2 , 3 ]) == nil
266276 assert $ (A .drop (-2 ) [1 , 2 , 3 ]) == [1 , 2 , 3 ]
0 commit comments