summaryrefslogtreecommitdiff
path: root/test/lisp/simple-tests.el
diff options
context:
space:
mode:
authorDamien Cassou <damien@cassou.me>2017-04-09 12:46:57 +0200
committerNicolas Petton <nicolas@petton.fr>2017-06-19 11:17:56 +0200
commitae98cdf9431604d0f722f1db217ca06debfbb7b6 (patch)
tree282b0658d520e638e6905f40153343de34259ff0 /test/lisp/simple-tests.el
parentdbe3e416af5d845dc774341eb66971ab1a72983b (diff)
downloademacs-ae98cdf9431604d0f722f1db217ca06debfbb7b6.tar.gz
Add current-line in simple.el
* lisp/simple.el (current-line): New function. * test/list/simple-tests.el: Add tests for current-line.
Diffstat (limited to 'test/lisp/simple-tests.el')
-rw-r--r--test/lisp/simple-tests.el49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/lisp/simple-tests.el b/test/lisp/simple-tests.el
index 180dcc0a209..ad7aee1db17 100644
--- a/test/lisp/simple-tests.el
+++ b/test/lisp/simple-tests.el
@@ -448,5 +448,54 @@ See Bug#21722."
(call-interactively #'eval-expression)
(should (equal (current-message) "66 (#o102, #x42, ?B)"))))))
+(ert-deftest line-number-at-pos-in-widen-buffer ()
+ (let ((target-line 3))
+ (with-temp-buffer
+ (insert "a\nb\nc\nd\n")
+ (goto-char (point-min))
+ (forward-line (1- target-line))
+ (should (equal (line-number-at-pos) target-line))
+ (should (equal (line-number-at-pos nil t) target-line)))))
+
+(ert-deftest line-number-at-pos-in-narrow-buffer ()
+ (let ((target-line 3))
+ (with-temp-buffer
+ (insert "a\nb\nc\nd\n")
+ (goto-char (point-min))
+ (forward-line (1- target-line))
+ (narrow-to-region (line-beginning-position) (line-end-position))
+ (should (equal (line-number-at-pos) 1))
+ (should (equal (line-number-at-pos nil t) target-line)))))
+
+(ert-deftest line-number-at-pos-keeps-restriction ()
+ (with-temp-buffer
+ (insert "a\nb\nc\nd\n")
+ (goto-char (point-min))
+ (forward-line 2)
+ (narrow-to-region (line-beginning-position) (line-end-position))
+ (should (equal (line-number-at-pos) 1))
+ (line-number-at-pos nil t)
+ (should (equal (line-number-at-pos) 1))))
+
+(ert-deftest line-number-at-pos-keeps-point ()
+ (let (pos)
+ (with-temp-buffer
+ (insert "a\nb\nc\nd\n")
+ (goto-char (point-min))
+ (forward-line 2)
+ (setq pos (point))
+ (line-number-at-pos)
+ (line-number-at-pos nil t)
+ (should (equal pos (point))))))
+
+(ert-deftest line-number-at-pos-when-passing-point ()
+ (let (pos)
+ (with-temp-buffer
+ (insert "a\nb\nc\nd\n")
+ (should (equal (line-number-at-pos 1) 1))
+ (should (equal (line-number-at-pos 3) 2))
+ (should (equal (line-number-at-pos 5) 3))
+ (should (equal (line-number-at-pos 7) 4)))))
+
(provide 'simple-test)
;;; simple-test.el ends here