From a709f502f88821bdef956cebfb304010f46503c0 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 7 Apr 2020 02:09:43 -0700 Subject: Add navigation functions for end-of-line and beginning-of-line --- test/integration/oni-core.bats | 28 +++++++++++++++++++ test/oni-core-test.el | 61 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 test/integration/oni-core.bats create mode 100644 test/oni-core-test.el (limited to 'test') diff --git a/test/integration/oni-core.bats b/test/integration/oni-core.bats new file mode 100644 index 0000000..7e52d86 --- /dev/null +++ b/test/integration/oni-core.bats @@ -0,0 +1,28 @@ +#!/usr/bin/env bats + +@test "Opening emacs loads oni-core" { + run emacs -batch -l package -f package-initialize \ + -eval "(prin1 (featurep 'oni-core))" + + echo "$output" + + [[ "$output" == *"t" ]] +} + +@test "C-a is bound to oni-core-move-to-beginning-of-dwim" { + run emacs -batch -l package -f package-initialize \ + -eval "(prin1 (key-binding (kbd \"C-a\")))" + + echo "$output" + + [[ "$output" == *"oni-core-move-beginning-of-dwim" ]] +} + +@test "C-e is bound to oni-core-move-to-end-of-dwim" { + run emacs -batch -l package -f package-initialize \ + -eval "(prin1 (key-binding (kbd \"C-e\")))" + + echo "$output" + + [[ "$output" == *"oni-core-move-end-of-dwim" ]] +} diff --git a/test/oni-core-test.el b/test/oni-core-test.el new file mode 100644 index 0000000..0672fb3 --- /dev/null +++ b/test/oni-core-test.el @@ -0,0 +1,61 @@ +(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))))) -- cgit v1.2.3-54-g00ecf