diff options
Diffstat (limited to 'tests/test-modeline-config-reset.el')
| -rw-r--r-- | tests/test-modeline-config-reset.el | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test-modeline-config-reset.el b/tests/test-modeline-config-reset.el new file mode 100644 index 00000000..54b7bb2f --- /dev/null +++ b/tests/test-modeline-config-reset.el @@ -0,0 +1,37 @@ +;;; test-modeline-config-reset.el --- cj/modeline-reset -*- lexical-binding: t; -*- + +;;; Commentary: +;; Tests for `cj/modeline-reset', the repair command for buffers whose +;; `mode-line-format' was hijacked buffer-locally (two-column mode, ediff, +;; calc). It kills the buffer-local value so the default format returns. + +;;; Code: + +(require 'ert) + +(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory)) + +(require 'modeline-config) + +(ert-deftest test-modeline-config-reset-kills-local-format () + "Normal: a hijacked buffer-local mode-line-format is removed." + (with-temp-buffer + (setq-local mode-line-format '("hijacked")) + (should (local-variable-p 'mode-line-format)) + (cj/modeline-reset) + (should-not (local-variable-p 'mode-line-format)) + (should (eq mode-line-format (default-value 'mode-line-format))))) + +(ert-deftest test-modeline-config-reset-noop-without-local () + "Boundary: harmless when the buffer has no local mode-line-format." + (with-temp-buffer + (should-not (local-variable-p 'mode-line-format)) + (cj/modeline-reset) + (should-not (local-variable-p 'mode-line-format)))) + +(ert-deftest test-modeline-config-reset-is-a-command () + "Normal: cj/modeline-reset is interactive." + (should (commandp #'cj/modeline-reset))) + +(provide 'test-modeline-config-reset) +;;; test-modeline-config-reset.el ends here |
