diff options
author | Damien Cassou | 2021-03-16 22:02:19 +0100 |
---|---|---|
committer | Damien Cassou | 2021-03-16 22:06:55 +0100 |
commit | 50ef2c1871e9665008081b937246b47996525806 (patch) | |
tree | 682ec2e13a1fb35e676914a21e1730ee07728f58 | |
parent | fcafdd8736b3c383260f0bbe6b63b52208a9e774 (diff) | |
download | nroam-50ef2c1871e9665008081b937246b47996525806.tar.gz nroam-50ef2c1871e9665008081b937246b47996525806.zip |
Add initial buttercup test
* tests/nroam-test.el: new file. Add initial buttercup test and
supporting macro.
* Makefile: Add buttercup and its dependencies to the list of
dependencies.
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | tests/nroam-test.el | 54 |
2 files changed, 56 insertions, 1 deletions
@@ -2,10 +2,11 @@ # that is more recent than the one provided by Emacs 27.1. Because # makel will refuse to install org because it is built into Emacs, we # force a newer version by asking org-plus-contrib instead. -ELPA_DEPENDENCIES=package-lint org-plus-contrib org-roam +ELPA_DEPENDENCIES=package-lint org-plus-contrib org-roam buttercup f s ELPA_ARCHIVES=melpa org +TEST_BUTTERCUP_OPTIONS=tests LINT_CHECKDOC_FILES=$(wildcard *.el) LINT_PACKAGE_LINT_FILES=nroam.el LINT_COMPILE_FILES=$(wildcard *.el) diff --git a/tests/nroam-test.el b/tests/nroam-test.el new file mode 100644 index 0000000..63e5b8a --- /dev/null +++ b/tests/nroam-test.el @@ -0,0 +1,54 @@ +;;; nroam-test.el --- Tests for nroam -*- lexical-binding: t; -*- + +;; Copyright (C) 2021 Damien Cassou + +;; Author: Damien Cassou <damien@cassou.me> + +;; This program 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. + +;; This program 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 this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Tests for nroam. + +;;; Code: + +(require 'buttercup) +(require 'nroam) + +(defmacro nroam-test-with-temp-file-buffer (&rest body) + "Execute BODY within a temporary buffer backed by a temporary file. +Execute BODY and cleanup the file and buffer after that." + (declare (debug t)) + (let ((filename-var (make-symbol "filename"))) + `(let ((,filename-var (make-temp-file "nroam-test-"))) + (unwind-protect + (with-current-buffer (find-file ,filename-var) + ,@body) + (delete-file ,filename-var))))) + +(nroam-test-with-temp-file-buffer (insert "foo")) + +(describe "nroam" + (describe "nroam-more" + (it "creates nroam sections immediately" + (nroam-test-with-temp-file-buffer + (insert "#+title: my notes\n") + (nroam-mode) + (setf (point) (point-min)) + (let ((section-position (re-search-forward "^* Backlinks" nil t))) + (expect section-position :not :to-be nil) + (expect section-position :to-be-greater-than 10)))))) + +(provide 'nroam-test) +;;; nroam-test.el ends here |