;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Fredrik Salomonsson ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix 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 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix 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 GNU Guix. If not, see . (define-module (test build-emacs-utils) #:use-module (guix tests) #:use-module (guix build emacs-utils) #:use-module (guix build utils) #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (srfi srfi-34) #:use-module (srfi srfi-64)) (test-begin "build-emacs-utils") ;; Only run the following tests if emacs is present. (test-skip (if (which "emacs") 0 5)) (test-equal "emacs-batch-script: print foo from emacs" "foo" (emacs-batch-script '(princ "foo"))) (test-assert "emacs-batch-script: raise &emacs-batch-error on failure" (guard (c ((emacs-batch-error? c) (string-contains (emacs-batch-error-message c) "Lisp error: (wrong-type-argument numberp \"three\")"))) (emacs-batch-script '(mapcar 'number-to-string (list 1 2 "three"))))) (call-with-temporary-directory (lambda (directory) (let ((mock-elisp-file (string-append directory "/foo.el"))) (call-with-output-file mock-elisp-file (lambda (port) (display ";;; foo --- mock emacs package -*- lexical-binding: t -*- ;; Created: 4 Jun 2022 ;; Keywords: lisp test ;; Version: 1.0.0 ;;; Commentary: ;;; Code: ;;; foo.el ends here " port))) (test-equal "emacs-header-parse: fetch version" "1.0.0" (emacs-header-parse "version" mock-elisp-file)) (test-equal "emacs-header-parse: fetch keywords" "lisp test" (emacs-header-parse "keywords" mock-elisp-file)) (test-equal "emacs-header-parse: fetch nonexistent author" "nil" (emacs-header-parse "author" mock-elisp-file))))) (test-end "build-emacs-utils") ss='nohover'>AgeCommit message (Expand)Author 2021-11-30services: Accept <inferior-package>s in lieu of <package>s....Tobias Geerinckx-Rice 2021-11-17services: docker: Add 'environment-variables' configuration field....Alexey Abramov 2021-07-29services: Migrate to <setuid-program>....Brice Waegeneire 2021-05-08services: docker: Disable configuration serialization....Maxim Cournoyer id=6616f0441260700b9f5d62eb64ac03af35c14290'>gnu: fcitx5-gtk: Add GTK 4 support....Zhu Zihao 2022-01-29gnu: fcitx5-chinese-addons: Replace the dependency on QtWebKit with QtWebEngine....Leo Famulari 2021-12-17gnu: libime: Update to 1.0.10....Marius Bakke 2021-12-17gnu: Remove unneeded uses of custom GCC versions....Marius Bakke 2021-12-13gnu: Further simplify package inputs....Ludovic Courtès 2021-12-13gnu: Simplify package inputs....Ludovic Courtès 2021-11-10gnu: fcitx5-configtool: Update to 5.0.8....dan 2021-11-10gnu: fcitx5-qt: Update to 5.0.7....dan 2021-11-10gnu: fcitx5-gtk: Update to 5.0.9....dan 2021-11-10gnu: fcitx5: Update to 5.0.10....dan