1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 ;;; --- iolib.base test suite.
6 (in-package :iolib-tests
)
8 (in-suite* :iolib.base
:in
:iolib
)
12 (test split-sequence
.1
13 (is (equalp (split-sequence #\
; "a;;b;c")
14 (values '("a" "" "b" "c") 6))))
16 (test split-sequence
.2
17 (is (equalp (split-sequence #\
; "a;;b;c" :from-end t)
18 (values '("a" "" "b" "c") 0))))
20 (test split-sequence
.3
21 (is (equalp (split-sequence #\
; "a;;b;c" :from-end t :count 1)
24 (test split-sequence
.4
25 (is (equalp (split-sequence #\
; "a;;b;c" :remove-empty-subseqs t)
26 (values '("a" "b" "c") 6))))
28 (test split-sequence
.5
29 (is (equalp (split-sequence-if (lambda (x) (member x
'(#\a #\b))) "abracadabra")
30 (values '("" "" "r" "c" "d" "" "r" "") 11))))
32 (test split-sequence
.6
33 (is (equalp (split-sequence-if-not (lambda (x) (member x
'(#\a #\b))) "abracadabra")
34 (values '("ab" "a" "a" "ab" "a") 11))))
36 (test split-sequence
.7
37 (is (equalp (split-sequence #\
; ";oo;bar;ba;" :start 1 :end 9)
38 (values '("oo" "bar" "b") 9))))