Coverage report: /home/ellis/.stash/quicklisp/dists/quicklisp/software/alexandria-20241012-git/alexandria-1/features.lisp
Kind | Covered | All | % |
expression | 19 | 22 | 86.4 |
branch | 5 | 6 | 83.3 |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
(in-package :alexandria)
3
(defun featurep (feature-expression)
4
"Returns T if the argument matches the state of the *FEATURES*
5
list and NIL if it does not. FEATURE-EXPRESSION can be any atom
6
or list acceptable to the reader macros #+ and #-."
7
(etypecase feature-expression
8
(symbol (not (null (member feature-expression *features*))))
9
(cons (check-type (first feature-expression) symbol)
10
(eswitch ((first feature-expression) :test 'string=)
11
(:and (every #'featurep (rest feature-expression)))
12
(:or (some #'featurep (rest feature-expression)))
13
(:not (assert (= 2 (length feature-expression)))
14
(not (featurep (second feature-expression))))))))