(require 'oni-core) (ert-deftest oni-core-move-beginning-of-dwim-moves-to-beginning-of-indentation () "Test that ‘oni-core-move-beginning-of-dwim’ moves to the beginning of indentation." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun ()\n \"Just testing a function\")") (goto-char (point-max)) (oni-core-move-beginning-of-dwim) (should (equal 24 (point))))) (ert-deftest oni-core-move-beginning-of-dwim-moves-to-beginning-of-line () "Test that ‘oni-core-move-beginning-of-dwim’ moves to the beginning of the line." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun ()\n \"Just testing a function\")") (goto-char (point-max)) (oni-core-move-beginning-of-dwim) (oni-core-move-beginning-of-dwim) (should (equal 22 (point))))) (ert-deftest oni-core-move-beginning-of-dwim-moves-to-beginning-of-indentation-again () "Test that ‘oni-core-move-beginning-of-dwim’ moves to the beginning of indentation again." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun ()\n \"Just testing a function\")") (goto-char (point-max)) (oni-core-move-beginning-of-dwim) (oni-core-move-beginning-of-dwim) (oni-core-move-beginning-of-dwim) (should (equal 24 (point))))) (ert-deftest oni-core-move-end-of-dwim-moves-to-end-of-code () "Test that ‘oni-core-move-end-of-dwim’ moves to the end of the code before a comment." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun () ;; Just testing\n \"Just testing a function\")") (goto-char (point-min)) (oni-core-move-end-of-dwim) (should (equal 21 (point))))) (ert-deftest oni-core-move-end-of-dwim-moves-to-end-of-line () "Test that ‘oni-core-move-end-of-dwim’ moves to the end of the line." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun () ;; Just testing\n \"Just testing a function\")") (goto-char (point-min)) (oni-core-move-end-of-dwim) (oni-core-move-end-of-dwim) (should (equal 38 (point))))) (ert-deftest oni-core-move-end-of-dwim-moves-to-end-of-code-again () "Test that ‘oni-core-move-end-of-dwim’ moves to the end of the code before a comment again." (with-temp-buffer (emacs-lisp-mode) (insert "(defun test-defun () ;; Just testing\n \"Just testing a function\")") (goto-char (point-min)) (oni-core-move-end-of-dwim) (oni-core-move-end-of-dwim) (oni-core-move-end-of-dwim) (should (equal 21 (point))))) (ert-deftest oni-core-loading-is-idempotent-recentf-idle-timer () "Test that loading ‘oni-core’ is idempotent in regards to an idle timer." ;; We already loaded it with the ‘require’ call above. We load it again so we ;; can check that the timer set up in it doesn’t appear twice. (load-library "oni-core") (let* ((pred (lambda (elt) (eq 'oni-core-recentf-save-list-silently (aref elt 5)))) (matches (delete nil (mapcar pred timer-idle-list)))) (should (eq 1 (length matches)))))