From 65d979f2945cd7dbd628f7348b8998836f40c1fc Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 3 Mar 2016 10:33:57 -0800 Subject: [PATCH] more regex fixes and :not tests --- dumb-jump.el | 12 +++++++----- test/dumb-jump-test.el | 10 +++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/dumb-jump.el b/dumb-jump.el index eb12c92..6c7d3c8 100644 --- a/dumb-jump.el +++ b/dumb-jump.el @@ -112,14 +112,16 @@ :regex "\\\(defcustom\\b\\s*JJJ\\j" :tests ("(defcustom test " "(defcustom test\n")) (:type "variable" :language "elisp" - :regex "\\\(setq\\b\\s*JJJ\\j" :tests ("(setq test 123)")) + :regex "\\\(setq\\b\\s*JJJ\\j" :tests ("(setq test 123)") :not ("setq test-blah 123)")) + (:type "variable" :language "elisp" - :regex "\\\(JJJ\\s+" :tests ("(let ((test 123)))")) + :regex "\\\(JJJ\\s+" :tests ("(let ((test 123)))") :not ("(let ((test-2 123)))")) ;; variable in method signature (:type "variable" :language "elisp" - :regex "\\(defun\\s*.+\\\(?\\s*JJJ\\b\\s*\\\)?" - :tests ("(defun blah (test)" "(defun blah (test blah)" "(defun (blah test)")) + :regex "\\(defun\\s*.+\\\(?\\s*JJJ\\j\\s*\\\)?" + :tests ("(defun blah (test)" "(defun blah (test blah)" "(defun (blah test)") + :not ("(defun blah (test-1)" "(defun blah (test-2 blah)" "(defun (blah test-3)")) ;; python (:type "variable" :language "python" @@ -178,7 +180,7 @@ :regex "\\s*\\bJJJ\\s*=[^=]+?$" :tests ("test = 1234") :not ("if (test === 1234)")) (:type "variable" :language "javascript" - :regex "\\bfunction\\b[^\\(]*\\\(\\s*[^\\)]*JJJ\\s*,?\\s*\\\)?" + :regex "\\bfunction\\b[^\\(]*\\\(\\s*[^\\)]*JJJ\\j\\s*,?\\s*\\\)?" :tests ("function (test)" "function (test, blah)" "function somefunc(test, blah) {" "function(blah, test)")) (:type "function" :language "javascript" :regex "function\\s*JJJ\\s*\\\(" diff --git a/test/dumb-jump-test.el b/test/dumb-jump-test.el index 2c5a498..8ba4940 100644 --- a/test/dumb-jump-test.el +++ b/test/dumb-jump-test.el @@ -49,12 +49,12 @@ (ert-deftest dumb-jump-generate-grep-command-no-ctx-test () (let ((regexes (dumb-jump-get-contextual-regexes "elisp" nil)) - (expected "LANG=C grep -REn --include \\*.el --include \\*.el.gz -e '\\(defun\\s+tester($|[^\\w-])' -e '\\(defvar\\b\\s*tester($|[^\\w-])' -e '\\(defcustom\\b\\s*tester($|[^\\w-])' -e '\\(setq\\b\\s*tester($|[^\\w-])' -e '\\(tester\\s+' -e '\\(defun\\s*.+\\(?\\s*tester\\b\\s*\\)?' .")) + (expected "LANG=C grep -REn --include \\*.el --include \\*.el.gz -e '\\(defun\\s+tester($|[^\\w-])' -e '\\(defvar\\b\\s*tester($|[^\\w-])' -e '\\(defcustom\\b\\s*tester($|[^\\w-])' -e '\\(setq\\b\\s*tester($|[^\\w-])' -e '\\(tester\\s+' -e '\\(defun\\s*.+\\(?\\s*tester($|[^\\w-])\\s*\\)?' .")) (should (string= expected (dumb-jump-generate-grep-command "tester" "blah.el" "." regexes "elisp" nil))))) (ert-deftest dumb-jump-generate-ag-command-no-ctx-test () (let ((regexes (dumb-jump-get-contextual-regexes "elisp" nil)) - (expected "ag --nocolor --nogroup \"\\(defun\\s+tester(?![\\w-])|\\(defvar\\b\\s*tester(?![\\w-])|\\(defcustom\\b\\s*tester(?![\\w-])|\\(setq\\b\\s*tester(?![\\w-])|\\(tester\\s+|\\(defun\\s*.+\\(?\\s*tester\\b\\s*\\)?\" .")) + (expected "ag --nocolor --nogroup \"\\(defun\\s+tester(?![\\w-])|\\(defvar\\b\\s*tester(?![\\w-])|\\(defcustom\\b\\s*tester(?![\\w-])|\\(setq\\b\\s*tester(?![\\w-])|\\(tester\\s+|\\(defun\\s*.+\\(?\\s*tester(?![\\w-])\\s*\\)?\" .")) (should (string= expected (dumb-jump-generate-ag-command "tester" "blah.el" "." regexes "elisp" nil))))) (ert-deftest dumb-jump-generate-grep-command-no-ctx-funcs-only-test () @@ -77,7 +77,7 @@ (let* ((ctx-type (dumb-jump-get-ctx-type-by-language "elisp" '(:left "(" :right nil))) (dumb-jump-ignore-context t) (regexes (dumb-jump-get-contextual-regexes "elisp" ctx-type)) - (expected "LANG=C grep -REn -e '\\(defun\\s+tester($|[^\\w-])' -e '\\(defvar\\b\\s*tester($|[^\\w-])' -e '\\(defcustom\\b\\s*tester($|[^\\w-])' -e '\\(setq\\b\\s*tester($|[^\\w-])' -e '\\(tester\\s+' -e '\\(defun\\s*.+\\(?\\s*tester\\b\\s*\\)?' .")) + (expected "LANG=C grep -REn -e '\\(defun\\s+tester($|[^\\w-])' -e '\\(defvar\\b\\s*tester($|[^\\w-])' -e '\\(defcustom\\b\\s*tester($|[^\\w-])' -e '\\(setq\\b\\s*tester($|[^\\w-])' -e '\\(tester\\s+' -e '\\(defun\\s*.+\\(?\\s*tester($|[^\\w-])\\s*\\)?' .")) ;; the point context being passed is ignored so ALL should return (should (string= expected (dumb-jump-generate-grep-command "tester" "blah.el" "." regexes "" nil))))) @@ -89,7 +89,7 @@ (should (s-blank? (dumb-jump-generate-ag-command "tester" "blah.el" "." nil "" (list "skaldjf"))))) (ert-deftest dumb-jump-grep-parse-test () - (let* ((resp "./dumb-jump.el:22:(defun dumb-jump-asdf ()\n./dumb-jump.el:26:(defvar dumb-jump-grep-prefix )\n./dumb-jump2.el:28:(defvar dumb-jump-grep)") + (let* ((resp "./dumb-jump.el:22:(defun dumb-jump-asdf ()\n./dumb-jump.el:26:(defvar some-var )\n./dumb-jump2.el:28:(defvar some-var)") (parsed (dumb-jump-parse-grep-response resp "dumb-jump2.el" 28)) (test-result (nth 1 parsed))) (should (= (plist-get test-result :diff) 2)) @@ -97,7 +97,7 @@ (should (= (plist-get test-result ':line) 26)))) (ert-deftest dumb-jump-ag-parse-test () - (let* ((resp "./dumb-jump.el:22:(defun dumb-jump-asdf ()\n./dumb-jump.el:26:(defvar dumb-jump-grep-prefix )\n./dumb-jump2.el:28:1:(defvar dumb-jump-grep)") + (let* ((resp "./dumb-jump.el:22:(defun dumb-jump-asdf ()\n./dumb-jump.el:26:(defvar some-var )\n./dumb-jump2.el:28:1:(defvar some-var)") (parsed (dumb-jump-parse-ag-response resp "dumb-jump2.el" 28)) (test-result (nth 1 parsed))) (should (= (plist-get test-result :diff) 2))