Add tests for xref-collect-matches
* test/automated/xref-tests.el: New file. Add tests for xref-collect-matches.
This commit is contained in:
parent
6428aa044a
commit
f559b374a3
3 changed files with 41 additions and 0 deletions
2
test/automated/data/xref/file1.txt
Normal file
2
test/automated/data/xref/file1.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
foo foo
|
||||||
|
bar
|
2
test/automated/data/xref/file2.txt
Normal file
2
test/automated/data/xref/file2.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
bar
|
37
test/automated/xref-tests.el
Normal file
37
test/automated/xref-tests.el
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
(require 'xref)
|
||||||
|
(require 'cl-lib)
|
||||||
|
|
||||||
|
(defvar xref-tests-data-dir
|
||||||
|
(expand-file-name "data/xref/"
|
||||||
|
(file-name-directory (or load-file-name (buffer-file-name)))))
|
||||||
|
|
||||||
|
(ert-deftest xref-collect-matches-finds-none-for-some-regexp ()
|
||||||
|
(should (null (xref-collect-matches "zzz" "*" xref-tests-data-dir nil))))
|
||||||
|
|
||||||
|
(ert-deftest xref-collect-matches-finds-some-for-bar ()
|
||||||
|
(let* ((matches (xref-collect-matches "bar" "*" xref-tests-data-dir nil))
|
||||||
|
(locs (cl-sort (mapcar #'xref-item-location matches)
|
||||||
|
#'string<
|
||||||
|
:key #'xref-location-group)))
|
||||||
|
(should (= 2 (length matches)))
|
||||||
|
(should (string-match-p "file1\\.txt\\'" (xref-location-group (nth 0 locs))))
|
||||||
|
(should (string-match-p "file2\\.txt\\'" (xref-location-group (nth 1 locs))))))
|
||||||
|
|
||||||
|
(ert-deftest xref-collect-matches-finds-two-matches-on-the-same-line ()
|
||||||
|
(let* ((matches (xref-collect-matches "foo" "*" xref-tests-data-dir nil))
|
||||||
|
(locs (mapcar #'xref-item-location matches)))
|
||||||
|
(should (= 2 (length matches)))
|
||||||
|
(should (string-match-p "file1\\.txt\\'" (xref-location-group (nth 0 locs))))
|
||||||
|
(should (string-match-p "file1\\.txt\\'" (xref-location-group (nth 1 locs))))
|
||||||
|
(should (equal 1 (xref-location-line (nth 0 locs))))
|
||||||
|
(should (equal 1 (xref-location-line (nth 1 locs))))
|
||||||
|
(should (equal 0 (xref-file-location-column (nth 0 locs))))
|
||||||
|
(should (equal 4 (xref-file-location-column (nth 1 locs))))))
|
||||||
|
|
||||||
|
;; (ert-deftest xref-collect-matches-finds-an-empty-line-regexp-match ()
|
||||||
|
;; (let* ((matches (xref-collect-matches "^$" "*" xref-tests-data-dir nil))
|
||||||
|
;; (locs (mapcar #'xref-item-location matches)))
|
||||||
|
;; (should (= 1 (length matches)))
|
||||||
|
;; (should (string-match-p "file2\\.txt\\'" (xref-location-group (nth 0 locs))))
|
||||||
|
;; (should (equal 1 (xref-location-line (nth 0 locs))))
|
||||||
|
;; (should (equal 0 (xref-file-location-column (nth 0 locs))))))
|
Loading…
Add table
Add a link
Reference in a new issue