User: stephent
Date: 05/12/08 11:59:00
Modified: xemacs/tests/automated syntax-tests.el
Log:
Tests for backward-up-list. <87oe3rg8l1.fsf(a)tleepslib.sk.tsukuba.ac.jp>
Revision Changes Path
1.74 +5 -0 XEmacs/xemacs/tests/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/tests/ChangeLog,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -p -r1.73 -r1.74
--- ChangeLog 2005/11/29 17:04:23 1.73
+++ ChangeLog 2005/12/08 10:58:57 1.74
@@ -1,3 +1,8 @@
+2005-12-08 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * automated/syntax-tests.el (backward-up-list): New test.
+ Thanks to Zacjev Evgeny for report, Aidan Kehoe for reproduction.
+
2005-10-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.23 "daikon" is released.
1.6 +39 -0 XEmacs/xemacs/tests/automated/syntax-tests.el
Index: syntax-tests.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/tests/automated/syntax-tests.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- syntax-tests.el 2002/11/11 15:39:07 1.5
+++ syntax-tests.el 2005/12/08 10:58:59 1.6
@@ -150,3 +150,42 @@
;; this last used to crash
(parse-partial-sexp point (point-max)))))
+
+;; Test backward-up-list
+;; Known-Bug: report = Evgeny Zacjev ca 2005-12-01, confirm = Aidan Kehoe
+
+(with-temp-buffer
+ ;; We are now using the standard syntax table. Thus there's no need to
+ ;; worry about a bogus syntax setting, eg, in a Gnus Article buffer the
+ ;; bug doesn't manifest.
+
+ ;; value of point to the immediate left of this character
+ ;; 0 1 2
+ ;; 1234 56789 012 34567 890 12 3456 7
+ (insert "a ( \"b (c\" (\"defg\") \")\") h\n")
+
+ ;; #### This test should check *every* position.
+ (flet ((backward-up-list-moves-point-from-to (start expected-end)
+ (goto-char start)
+ (backward-up-list 1)
+ (= (point) expected-end)))
+ (Known-Bug-Expect-Failure
+ ;; Evgeny's case
+ (Assert (backward-up-list-moves-point-from-to 16 12)))
+ (Assert (backward-up-list-moves-point-from-to 19 12))
+ (Assert (backward-up-list-moves-point-from-to 20 3))
+ (Known-Bug-Expect-Failure
+ (Assert (backward-up-list-moves-point-from-to 22 3)))
+ (Known-Bug-Expect-Failure
+ (Assert (backward-up-list-moves-point-from-to 23 3)))
+ (Assert (backward-up-list-moves-point-from-to 24 3))
+ ;; This is maybe a little tricky, since we don't expect the position
+ ;; check to happen -- so use an illegal expected position
+ ;; I don't think there's any other way for this to fail that way,
+ ;; barring hardware error....
+ (Check-Error-Message syntax-error
+ "Unbalanced parentheses"
+ (backward-up-list-moves-point-from-to 25 nil))
+ ;; special-case check that point didn't move
+ (Assert (= (point) 25))))
+
Show replies by date