Skip to content

Commit

Permalink
more regex fixes and :not tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jacktasia committed Mar 3, 2016
1 parent ec1720a commit 65d979f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
12 changes: 7 additions & 5 deletions dumb-jump.el
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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*\\\("
Expand Down
10 changes: 5 additions & 5 deletions test/dumb-jump-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -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 ()
Expand All @@ -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)))))
Expand All @@ -89,15 +89,15 @@
(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))
(should (= (plist-get test-result :diff) 2))
(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))
Expand Down

0 comments on commit 65d979f

Please sign in to comment.