diff options
| author | Matt Armstrong | 2022-11-04 15:02:17 -0700 |
|---|---|---|
| committer | Stefan Monnier | 2022-11-05 16:44:06 -0400 |
| commit | 2fc6e715a2931523a52d541d5b9868ca6cb144ff (patch) | |
| tree | 17709d98a577ae99b25700538ac8176d9f9233b2 /test/src | |
| parent | 4e108213341c99193d73133bb9d2cfbf31e6d8c9 (diff) | |
| download | emacs-2fc6e715a2931523a52d541d5b9868ca6cb144ff.tar.gz emacs-2fc6e715a2931523a52d541d5b9868ca6cb144ff.zip | |
Tweak the overlay related `insert-before-markers' tests
* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty):
Move code down to the other tests related to insertion. Test all
front/rear insert combinations. To make the test more clear, at least
to me, hard code all character positions.
(test-overlay-insert-before-markers-at-start): For both front-advance
modes verify that `insert-before-markers' at and overlay's start
advances it.
(test-overlay-insert-before-markers-at-end): For both rear-advance
modes test that `insert-before-markers' at an overlay's end advances
it.
(test-overlay-insert-before-markers-non-empty): Delete, replaced by
the two tests above.
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/buffer-tests.el | 61 |
1 files changed, 39 insertions, 22 deletions
diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el index a39d7d51de1..0e9e84ef7a1 100644 --- a/test/src/buffer-tests.el +++ b/test/src/buffer-tests.el | |||
| @@ -528,28 +528,6 @@ with parameters from the *Messages* buffer modification." | |||
| 528 | (deftest-overlay-start/end-1 L (1 0) (1 1)) | 528 | (deftest-overlay-start/end-1 L (1 0) (1 1)) |
| 529 | (deftest-overlay-start/end-1 M (0 0) (1 1)) | 529 | (deftest-overlay-start/end-1 M (0 0) (1 1)) |
| 530 | 530 | ||
| 531 | (ert-deftest test-overlay-insert-before-markers-empty () | ||
| 532 | (with-temp-buffer | ||
| 533 | (insert "1234") | ||
| 534 | (goto-char (1+ (point-min))) | ||
| 535 | (let ((overlay (make-overlay (point) (point)))) | ||
| 536 | (insert-before-markers "x") | ||
| 537 | (should (equal (point) (overlay-end overlay))) | ||
| 538 | (should (equal (point) (overlay-start overlay)))))) | ||
| 539 | |||
| 540 | (ert-deftest test-overlay-insert-before-markers-non-empty () | ||
| 541 | (with-temp-buffer | ||
| 542 | (insert "1234") | ||
| 543 | (goto-char (+ 2 (point))) | ||
| 544 | (let ((overlay (make-overlay (1- (point)) (point)))) | ||
| 545 | (insert-before-markers "x") | ||
| 546 | (should (equal (point) (overlay-end overlay))) | ||
| 547 | (should (equal (- (point) 2) (overlay-start overlay))) | ||
| 548 | (forward-char -2) | ||
| 549 | (insert-before-markers "y") | ||
| 550 | (should (equal (+ 2 (point)) (overlay-end overlay))) | ||
| 551 | (should (equal (point) (overlay-start overlay)))))) | ||
| 552 | |||
| 553 | (ert-deftest test-overlay-start/end-2 () | 531 | (ert-deftest test-overlay-start/end-2 () |
| 554 | (should-not (overlay-start (with-temp-buffer (make-overlay 1 1)))) | 532 | (should-not (overlay-start (with-temp-buffer (make-overlay 1 1)))) |
| 555 | (should-not (overlay-end (with-temp-buffer (make-overlay 1 1))))) | 533 | (should-not (overlay-end (with-temp-buffer (make-overlay 1 1))))) |
| @@ -1315,7 +1293,46 @@ Regression test for bug#58706." | |||
| 1315 | (delete-overlay left) | 1293 | (delete-overlay left) |
| 1316 | (should (= 2 (length (overlays-in 1 (point-max)))))))) | 1294 | (should (= 2 (length (overlays-in 1 (point-max)))))))) |
| 1317 | 1295 | ||
| 1296 | ;; +==========================================================================+ | ||
| 1297 | ;; | Moving overlays with insert-before-markers | ||
| 1298 | ;; +==========================================================================+ | ||
| 1318 | 1299 | ||
| 1300 | (ert-deftest test-overlay-insert-before-markers-at-start () | ||
| 1301 | "`insert-before-markers' always advances an overlay's start. | ||
| 1302 | Test both front-advance and non-front-advance overlays." | ||
| 1303 | (dolist (front-advance '(nil t)) | ||
| 1304 | (ert-info ((format "front-advance %S" front-advance)) | ||
| 1305 | (with-temp-buffer | ||
| 1306 | (insert "1234") | ||
| 1307 | (let ((overlay (make-overlay 2 3 nil front-advance nil))) | ||
| 1308 | (goto-char 2) | ||
| 1309 | (insert-before-markers "x") | ||
| 1310 | (should (equal 3 (overlay-start overlay))) | ||
| 1311 | (should (equal 4 (overlay-end overlay)))))))) | ||
| 1312 | |||
| 1313 | (ert-deftest test-overlay-insert-before-markers-at-end () | ||
| 1314 | "`insert-before-markers' always advances an overlay's end. | ||
| 1315 | Test both rear-advance and non-rear-advance overlays." | ||
| 1316 | (dolist (rear-advance '(nil t)) | ||
| 1317 | (ert-info ((format "rear-advance %S" rear-advance)) | ||
| 1318 | (with-temp-buffer | ||
| 1319 | (insert "1234") | ||
| 1320 | (let ((overlay (make-overlay 2 3 nil nil rear-advance))) | ||
| 1321 | (goto-char 3) | ||
| 1322 | (insert-before-markers "x") | ||
| 1323 | (should (equal 2 (overlay-start overlay))) | ||
| 1324 | (should (equal 4 (overlay-end overlay)))))))) | ||
| 1325 | |||
| 1326 | (ert-deftest test-overlay-insert-before-markers-empty () | ||
| 1327 | (dolist (advance-args '((nil nil) (t nil) (nil t) (t t))) | ||
| 1328 | (ert-info ((format "advance args %S" advance-args)) | ||
| 1329 | (with-temp-buffer | ||
| 1330 | (insert "1234") | ||
| 1331 | (let ((overlay (apply #'make-overlay 2 2 nil advance-args))) | ||
| 1332 | (goto-char 2) | ||
| 1333 | (insert-before-markers "x") | ||
| 1334 | (should (equal 3 (overlay-start overlay))) | ||
| 1335 | (should (equal 3 (overlay-end overlay)))))))) | ||
| 1319 | 1336 | ||
| 1320 | ;; +==========================================================================+ | 1337 | ;; +==========================================================================+ |
| 1321 | ;; | Moving by deletions | 1338 | ;; | Moving by deletions |