1 ;;; subword-tests.el --- Testing the subword rules
3 ;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
5 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
8 ;; This program is free software; you can redistribute it and/or modify
9 ;; it under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation, either version 3 of the License, or
11 ;; (at your option) any later version.
13 ;; This program is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;; GNU General Public License for more details.
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
30 (defconst subword-tests-strings
32 "ABC^ ABC^Foo^ ABC^-Foo^ toto^ ABC^"))
34 (ert-deftest subword-tests
()
35 "Test the `subword-mode' rules."
37 (dolist (str subword-tests-strings
)
40 (goto-char (point-min))
41 (while (search-forward "^" nil t
)
43 (goto-char (point-min))
47 (should (equal (buffer-string) str
)))))
49 (ert-deftest subword-tests2
()
50 "Test that motion in subword-mode stops at the right places."
52 (let* ((line "fooBarBAZ quXD g_TESTThingAbc word BLAH test")
53 (fwrd "* * * * * * * * * * * * *")
54 (bkwd "* * * * * * * * * * * * *"))
60 ;; Test forward motion.
62 (goto-char (point-min))
63 (let ((stops (make-string (length fwrd
) ?\
)))
65 (aset stops
(1- (point)) ?\
*)
68 (should (equal stops fwrd
)))
70 ;; Test backward motion.
72 (goto-char (point-max))
73 (let ((stops (make-string (length bkwd
) ?\
)))
75 (aset stops
(1- (point)) ?\
*)
78 (should (equal stops bkwd
))))))
80 (provide 'subword-tests
)
81 ;;; subword-tests.el ends here