From 50ef2c1871e9665008081b937246b47996525806 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Tue, 16 Mar 2021 22:02:19 +0100 Subject: 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. --- tests/nroam-test.el | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/nroam-test.el (limited to 'tests/nroam-test.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 + +;; 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 . + +;;; 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 -- cgit v1.2.3-54-g00ecf