;;; guile-xapian --- Guile bindings for Xapian ;;; Copyright © 2021 Arun Isaac ;;; Copyright © 2021 Bob131 ;;; ;;; This file is part of guile-xapian. ;;; ;;; guile-xapian is free software: you can redistribute it and/or ;;; modify it under the terms of the GNU General Public License as ;;; published by the Free Software Foundation, either version 2 of the ;;; License, or (at your option) any later version. ;;; ;;; guile-xapian is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with guile-xapian. If not, see ;;; . (use-modules (srfi srfi-64) (xapian xapian)) (test-begin "xapian") (let* ((invalid-utf8-data #vu8(#xf0 #x61 #x62 #x00)) (binary-doc (make-document #:data invalid-utf8-data #:values `((0 . ,invalid-utf8-data))))) (test-error "document-data fails to decode binary data" 'decoding-error (document-data binary-doc)) (test-equal "document-bytes reads binary data correctly" invalid-utf8-data (document-bytes binary-doc)) (test-error "document-slot-ref fails to decode binary value" 'decoding-error (document-slot-ref binary-doc 0)) (test-equal "document-slot-ref-bytes reads binary value correctly" invalid-utf8-data (document-slot-ref-bytes binary-doc 0))) (test-end "xapian")