diff --git a/test-suite/tests/list.test b/test-suite/tests/list.test index d7b7801c9..dc06f0795 100644 --- a/test-suite/tests/list.test +++ b/test-suite/tests/list.test @@ -1,5 +1,5 @@ ;;;; list.test --- tests guile's lists -*- scheme -*- -;;;; Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc. +;;;; Copyright (C) 2000, 2001, 2006, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -658,9 +658,26 @@ ;;; memq +(with-test-prefix/c&e "memq" + + (pass-if "inline" + ;; In this case `memq' is inlined and the loop is unrolled. + (equal? '(b c d) (memq 'b '(a b c d)))) + + (pass-if "non inline" + ;; In this case a real function call is generated. + (equal? '(b c d) (memq 'b (list 'a 'b 'c 'd))))) ;;; memv +(with-test-prefix/c&e "memv" + (pass-if "inline" + ;; In this case `memv' is inlined and the loop is unrolled. + (equal? '(b c d) (memv 'b '(a b c d)))) + + (pass-if "non inline" + ;; In this case a real function call is generated. + (equal? '(b c d) (memv 'b (list 'a 'b 'c 'd))))) ;;; member