emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 f559b37 3/4: Add tests for xref-collect-matches


From: Dmitry Gutov
Subject: [Emacs-diffs] emacs-25 f559b37 3/4: Add tests for xref-collect-matches
Date: Tue, 03 May 2016 23:02:08 +0000

branch: emacs-25
commit f559b374a30f3615261f7a902fc3428cac6289f4
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    Add tests for xref-collect-matches
    
    * test/automated/xref-tests.el: New file.  Add tests for
    xref-collect-matches.
---
 test/automated/data/xref/file1.txt |    2 ++
 test/automated/data/xref/file2.txt |    2 ++
 test/automated/xref-tests.el       |   37 ++++++++++++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)

diff --git a/test/automated/data/xref/file1.txt 
b/test/automated/data/xref/file1.txt
new file mode 100644
index 0000000..5d7cc54
--- /dev/null
+++ b/test/automated/data/xref/file1.txt
@@ -0,0 +1,2 @@
+foo foo
+bar
diff --git a/test/automated/data/xref/file2.txt 
b/test/automated/data/xref/file2.txt
new file mode 100644
index 0000000..9f075f2
--- /dev/null
+++ b/test/automated/data/xref/file2.txt
@@ -0,0 +1,2 @@
+
+bar
diff --git a/test/automated/xref-tests.el b/test/automated/xref-tests.el
new file mode 100644
index 0000000..1b500c3
--- /dev/null
+++ b/test/automated/xref-tests.el
@@ -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))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]