Add a test function from semantic-test.el to semantic-ia-utest.el.
authorChong Yidong <cyd@stupidchicken.com>
Mon, 29 Mar 2010 21:35:39 +0000 (17:35 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 29 Mar 2010 21:35:39 +0000 (17:35 -0400)
* cedet/semantic-ia-utest.el
(semantic-symref-test-count-hits-in-tag): Add function, from
semantic-test.el.

test/ChangeLog
test/cedet/semantic-ia-utest.el

index 3ed5989..da85fc4 100644 (file)
@@ -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:
index 92dbaba..00f6632 100644 (file)
@@ -416,6 +416,27 @@ Argument ARG specifies which set of tests to run.
 
     ))
 
+(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."