emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole 847c5c7 2/8: Add kotl-mode tests (#94)


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 847c5c7 2/8: Add kotl-mode tests (#94)
Date: Tue, 18 May 2021 23:57:12 -0400 (EDT)

branch: externals/hyperbole
commit 847c5c79fbace37b79b3f6afd888ec7ab0d499fa
Author: Mats Lidell <mats.lidell@lidells.se>
Commit: GitHub <noreply@github.com>

    Add kotl-mode tests (#94)
---
 ChangeLog               |  7 ++++
 test/kotl-mode-tests.el | 87 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 6fd43ea..f6596ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2021-05-18  Mats Lidell  <matsl@gnu.org>
 
+* test/kotl-mode-tests.el (setup-kotl-mode-example-test)
+    (smart-menu-loads-kotl-example, kotl-mode-example-loads-kotl-example)
+    (kotl-mode-move-between-cells, kotl-mode-indent-cell-changes-level):
+    Add kotl-mode tests.
+
+2021-05-17  Mats Lidell  <matsl@gnu.org>
+
 * kotl/kotl-mode.el (hypb):
   hyperbole.el (hypb): Use compatibility macro.
 
diff --git a/test/kotl-mode-tests.el b/test/kotl-mode-tests.el
new file mode 100644
index 0000000..5ce7658
--- /dev/null
+++ b/test/kotl-mode-tests.el
@@ -0,0 +1,87 @@
+;;; kotl-mode-tests.el --- kotl-mode-el tests            -*- lexical-binding: 
t; -*-
+
+;; Copyright (C) 2021  Mats Lidell
+
+;; Author: Mats Lidell <matsl@gnu.org>
+;;
+;; Orig-Date: 18-May-21 at 22:14:10
+;;
+;; Copyright (C) 2021  Free Software Foundation, Inc.
+;; See the "HY-COPY" file for license information.
+;;
+;; This file is part of GNU Hyperbole.
+
+;;; Commentary:
+
+;; Tests for kotl-mode in "../kotl/kotl-mode.el"
+
+;;; Code:
+
+(require 'ert)
+(require 'kotl-mode)
+
+(load (expand-file-name "hy-test-helpers"
+                        (file-name-directory (or load-file-name
+                                                 default-directory))))
+(declare-function hy-test-helpers:consume-input-events "hy-test-helpers")
+
+(defmacro setup-kotl-mode-example-test (&rest body)
+  "Setup for test using kotl-mode:example and run BODY."
+  `(unwind-protect
+       (progn
+         ,@body
+         (should (equal major-mode 'kotl-mode))
+         (should (string= (buffer-name (current-buffer)) "EXAMPLE.kotl")))
+     (kill-buffer "EXAMPLE.kotl")))
+
+(ert-deftest smart-menu-loads-kotl-example ()
+  "Loading kotl-mode example file works."
+  (skip-unless (not noninteractive))
+  (setup-kotl-mode-example-test
+   (should (hact 'kbd-key "C-h h k e"))
+   (hy-test-helpers:consume-input-events)))
+
+(ert-deftest kotl-mode-example-loads-kotl-example ()
+  "Loading kotl-mode example file works."
+  (setup-kotl-mode-example-test
+   (kotl-mode:example)))
+
+(ert-deftest kotl-mode-move-between-cells ()
+  "Loading kotl-mode example file works."
+  (setup-kotl-mode-example-test
+   ;; Start in first cell
+   (kotl-mode:example)
+   (should (kotl-mode:first-cell-p))
+
+   ;; Move to next cell
+   (kotl-mode:next-cell 1)
+   (should (not (kotl-mode:first-cell-p)))
+   (should (equal (kcell-view:level) 1))
+   (should (string= (kcell-view:visible-label) "2"))
+
+   ;; Move to next cell
+   (kotl-mode:next-cell 1)
+   (should (not (kotl-mode:first-cell-p)))
+   (should (equal (kcell-view:level) 2))
+   (should (string= (kcell-view:visible-label) "2a")))
+  )
+
+(ert-deftest kotl-mode-indent-cell-changes-level ()
+  "Loading kotl-mode example file works."
+  (skip-unless (not noninteractive))
+  (setup-kotl-mode-example-test
+   (kotl-mode:example)
+   (should (kotl-mode:first-cell-p))
+   (kotl-mode:next-cell 1)
+   (should (hact 'kbd-key "TAB"))
+   (hy-test-helpers:consume-input-events)
+   (should (equal (kcell-view:level) 2))
+   (should (string= (kcell-view:visible-label) "1a"))
+   ;; Cleanup
+   (set-buffer-modified-p nil)))
+
+(provide 'kotl-mode-tests)
+;;; kotl-mode-tests.el ends here
+
+
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]