]> code.delx.au - gnu-emacs/blobdiff - test/cedet/semantic-ia-utest.el
Add a test function from semantic-test.el to semantic-ia-utest.el.
[gnu-emacs] / test / cedet / semantic-ia-utest.el
index 92dbaba76159a519f458bcc565a1fb2cb59458dd..00f6632f9f340b6c077ae567132c94abfff21870 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."