]> code.delx.au - gnu-emacs/commitdiff
: Tests for undo-auto functionality.
authorPhillip Lord <phillip.lord@russet.org.uk>
Thu, 12 Nov 2015 22:18:59 +0000 (22:18 +0000)
committerPhillip Lord <phillip.lord@russet.org.uk>
Thu, 12 Nov 2015 22:18:59 +0000 (22:18 +0000)
test/automated/simple-test.el

index 5bfb74615a48f8f905e15c57b13812fc362d9728..86c9fc2e7670dfb83bf45a729cbeac92a2830de6 100644 (file)
       (unless (or noninteractive python)
         (unload-feature 'python)))))
 
+
+;;; auto-boundary tests
+(ert-deftest undo-auto--boundary-timer ()
+  (should
+   undo-auto--current-boundary-timer))
+
+(ert-deftest undo-auto--boundaries-added ()
+  ;; The change in the buffer should have caused addition
+  ;; to undo-auto--undoably-changed-buffers.
+  (should
+   (with-temp-buffer
+     (setq buffer-undo-list nil)
+     (insert "hello")
+     (member (current-buffer) undo-auto--undoably-changed-buffers)))
+  ;; The head of buffer-undo-list should be the insertion event, and
+  ;; therefore not nil
+  (should
+   (with-temp-buffer
+     (setq buffer-undo-list nil)
+     (insert "hello")
+     (car buffer-undo-list)))
+  ;; Now the head of the buffer-undo-list should be a boundary and so
+  ;; nil. We have to call auto-boundary explicitly because we are out
+  ;; of the command loop
+  (should-not
+   (with-temp-buffer
+     (setq buffer-undo-list nil)
+     (insert "hello")
+     (car buffer-undo-list)
+     (undo-auto--boundaries 'test))))
+
+
+
 (provide 'simple-test)
 ;;; simple-test.el ends here