changeset 107699:a5f1216fa7aa

Add a test function from semantic-test.el to semantic-ia-utest.el. * cedet/semantic-ia-utest.el (semantic-symref-test-count-hits-in-tag): Add function, from semantic-test.el.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 29 Mar 2010 17:35:39 -0400
parents 89eccb374dec
children 5860ffa0c5d9 2450d895e5fd
files test/ChangeLog test/cedet/semantic-ia-utest.el
diffstat 2 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/test/ChangeLog	Mon Mar 29 17:26:49 2010 -0400
+++ b/test/ChangeLog	Mon Mar 29 17:35:39 2010 -0400
@@ -1,5 +1,9 @@
 2010-03-29  Chong Yidong  <cyd@stupidchicken.com>
 
+	* cedet/semantic-ia-utest.el
+	(semantic-symref-test-count-hits-in-tag): Add function, from
+	semantic-test.el.
+
 	* cedet/tests/test.cpp:
 	* cedet/tests/test.py:
 	* cedet/tests/teststruct.cpp:
--- a/test/cedet/semantic-ia-utest.el	Mon Mar 29 17:26:49 2010 -0400
+++ b/test/cedet/semantic-ia-utest.el	Mon Mar 29 17:35:39 2010 -0400
@@ -416,6 +416,27 @@
 
     ))
 
+(defun semantic-symref-test-count-hits-in-tag ()
+  "Lookup in the current tag the symbol under point.
+Then count all the other references to the same symbol within the
+tag that contains point, and return that."
+  (interactive)
+  (let* ((ctxt (semantic-analyze-current-context))
+	 (target (car (reverse (oref ctxt prefix))))
+	 (tag (semantic-current-tag))
+	 (start (current-time))
+	 (Lcount 0))
+    (when (semantic-tag-p target)
+      (semantic-symref-hits-in-region
+       target (lambda (start end prefix) (setq Lcount (1+ Lcount)))
+       (semantic-tag-start tag)
+       (semantic-tag-end tag))
+      (when (interactive-p)
+	(message "Found %d occurrences of %s in %.2f seconds"
+		 Lcount (semantic-tag-name target)
+		 (semantic-elapsed-time start (current-time))))
+      Lcount)))
+
 (defun semantic-src-utest-buffer-refs ()
   "Run a sym-ref counting unit-test pass in the current buffer."