blob: 234a0b35ea70f025cbfa377b73d12b4a78bd3127 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
;;; marker-tests.el --- tests for marker.c functions -*- lexical-binding: t -*-
;; Copyright (C) 2016-2021 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
;;; Code:
(require 'ert)
;; The following three tests assert that Emacs survives operations
;; copying a marker whose character position differs from its byte
;; position into a buffer whose character size equals its byte size
;; (Bug#24368).
(ert-deftest marker-set-window-start-from-other-buffer ()
"`set-window-start' from other buffer's marker."
(let ((text-quoting-style 'curve))
(describe-function 'describe-function))
(let* ((help (get-buffer "*Help*"))
(marker (with-current-buffer help
(copy-marker (point-max)))))
(should (set-window-start (selected-window) marker))))
(ert-deftest marker-set-window-point-from-other-buffer ()
"`set-window-point' from another buffer's marker."
(let ((text-quoting-style 'curve))
(describe-function 'describe-function))
(let* ((help (get-buffer "*Help*"))
(marker (with-current-buffer help
(copy-marker (point-max)))))
(with-selected-window (get-buffer-window help)
(should (set-window-point (get-buffer-window "*scratch*") marker)))))
(ert-deftest marker-goto-char-from-other-buffer ()
"`goto-char' from another buffer's marker."
(let ((text-quoting-style 'curve))
(describe-function 'describe-function))
(let ((marker-1 (make-marker))
(marker-2 (make-marker)))
(describe-function 'describe-function)
(with-current-buffer "*Help*"
(set-marker marker-1 (point-max)))
(set-marker marker-2 marker-1)
(should (goto-char marker-2))))
;;; marker-tests.el ends here.
|