Mercurial > hg > xemacs-beta
diff tests/automated/lisp-tests.el @ 1425:74cb069b8417
[xemacs-hg @ 2003-04-23 15:42:44 by stephent]
stale match data <87fzo99rje.fsf@tleepslib.sk.tsukuba.ac.jp>
new split-string <87d6jd9qis.fsf@tleepslib.sk.tsukuba.ac.jp>
support (info "(file)node") <87adeh9qa7.fsf@tleepslib.sk.tsukuba.ac.jp>
author | stephent |
---|---|
date | Wed, 23 Apr 2003 15:42:52 +0000 |
parents | 6728e641994e |
children | 9c872f33ecbe |
line wrap: on
line diff
--- a/tests/automated/lisp-tests.el Tue Apr 22 03:24:13 2003 +0000 +++ b/tests/automated/lisp-tests.el Wed Apr 23 15:42:52 2003 +0000 @@ -852,10 +852,13 @@ ;;----------------------------------------------------- ;; Test split-string ;;----------------------------------------------------- -;; Hrvoje didn't like these tests so I'm disabling them for now. -sb -;(Assert (equal (split-string "foo" "") '("" "f" "o" "o" ""))) -;(Assert (equal (split-string "foo" "^") '("" "foo"))) -;(Assert (equal (split-string "foo" "$") '("foo" ""))) +;; Keep nulls, explicit SEPARATORS +;; Hrvoje didn't like the next 3 tests so I'm disabling them for now. -sb +;; I assume Hrvoje worried about the possibility of infloops. -sjt +(when test-harness-risk-infloops + (Assert (equal (split-string "foo" "") '("" "f" "o" "o" ""))) + (Assert (equal (split-string "foo" "^") '("" "foo"))) + (Assert (equal (split-string "foo" "$") '("foo" "")))) (Assert (equal (split-string "foo,bar" ",") '("foo" "bar"))) (Assert (equal (split-string ",foo,bar," ",") '("" "foo" "bar" ""))) (Assert (equal (split-string ",foo,bar," "^,") '("" "foo,bar,"))) @@ -865,6 +868,47 @@ (Assert (equal (split-string "foo,,bar,," ",") '("foo" "" "bar" "" ""))) (Assert (equal (split-string "foo,,bar" ",+") '("foo" "bar"))) (Assert (equal (split-string ",foo,,bar," ",+") '("" "foo" "bar" ""))) +;; Omit nulls, explicit SEPARATORS +(when test-harness-risk-infloops + (Assert (equal (split-string "foo" "" t) '("f" "o" "o"))) + (Assert (equal (split-string "foo" "^" t) '("foo"))) + (Assert (equal (split-string "foo" "$" t) '("foo")))) +(Assert (equal (split-string "foo,bar" "," t) '("foo" "bar"))) +(Assert (equal (split-string ",foo,bar," "," t) '("foo" "bar"))) +(Assert (equal (split-string ",foo,bar," "^," t) '("foo,bar,"))) +(Assert (equal (split-string ",foo,bar," ",$" t) '(",foo,bar"))) +(Assert (equal (split-string ",foo,,bar," "," t) '("foo" "bar"))) +(Assert (equal (split-string "foo,,,bar" "," t) '("foo" "bar"))) +(Assert (equal (split-string "foo,,bar,," "," t) '("foo" "bar"))) +(Assert (equal (split-string "foo,,bar" ",+" t) '("foo" "bar"))) +(Assert (equal (split-string ",foo,,bar," ",+" t) '("foo" "bar"))) +;; "Double-default" case +(Assert (equal (split-string "foo bar") '("foo" "bar"))) +(Assert (equal (split-string " foo bar ") '("foo" "bar"))) +(Assert (equal (split-string " foo bar ") '("foo" "bar"))) +(Assert (equal (split-string "foo bar") '("foo" "bar"))) +(Assert (equal (split-string "foo bar ") '("foo" "bar"))) +(Assert (equal (split-string "foobar") '("foobar"))) +;; Semantics are identical to "double-default" case! Fool ya? +(Assert (equal (split-string "foo bar" nil t) '("foo" "bar"))) +(Assert (equal (split-string " foo bar " nil t) '("foo" "bar"))) +(Assert (equal (split-string " foo bar " nil t) '("foo" "bar"))) +(Assert (equal (split-string "foo bar" nil t) '("foo" "bar"))) +(Assert (equal (split-string "foo bar " nil t) '("foo" "bar"))) +(Assert (equal (split-string "foobar" nil t) '("foobar"))) +;; Perverse "anti-double-default" case +(Assert (equal (split-string "foo bar" split-string-default-separators) + '("foo" "bar"))) +(Assert (equal (split-string " foo bar " split-string-default-separators) + '("" "foo" "bar" ""))) +(Assert (equal (split-string " foo bar " split-string-default-separators) + '("" "foo" "bar" ""))) +(Assert (equal (split-string "foo bar" split-string-default-separators) + '("foo" "bar"))) +(Assert (equal (split-string "foo bar " split-string-default-separators) + '("foo" "bar" ""))) +(Assert (equal (split-string "foobar" split-string-default-separators) + '("foobar"))) (Assert (not (string-match "\\(\\.\\=\\)" "."))) (Assert (string= "" (let ((str "test string"))