initial
This commit is contained in:
76
elpa/ac-js2-20190101.933/ac-js2-tests.el
Normal file
76
elpa/ac-js2-20190101.933/ac-js2-tests.el
Normal file
@@ -0,0 +1,76 @@
|
||||
;;; Tests for ac-js2
|
||||
|
||||
(require 'ert)
|
||||
(require 'skewer-mode)
|
||||
(require 'js2-mode)
|
||||
(require 'ac-js2)
|
||||
|
||||
;;; Must have a skewer client connected before running the tests
|
||||
;; Need to call httpd-stop from main Emacs if running tests in batch mode
|
||||
(unless skewer-clients
|
||||
(run-skewer))
|
||||
|
||||
(ert-deftest ac-js2-candidates-test ()
|
||||
"Test the major function that returns candidates for all frontends."
|
||||
(let (property
|
||||
property-dot
|
||||
func-call
|
||||
var)
|
||||
(with-temp-buffer
|
||||
(insert "
|
||||
var temp = function(param1, param2) {
|
||||
var localParam = 15;
|
||||
return param1 + param2;
|
||||
};
|
||||
|
||||
var look;
|
||||
|
||||
temp.aFun = function(lolParam) {};
|
||||
temp.anotherFunction = function() { return {about: 3};}")
|
||||
(setq ac-js2-evaluate-calls t)
|
||||
(setq ac-js2-external-libraries nil)
|
||||
|
||||
(js2-mode)
|
||||
(ac-js2-mode t)
|
||||
(js2-parse)
|
||||
|
||||
(insert "tem")
|
||||
(ac-js2-candidates)
|
||||
(setq var ac-js2-skewer-candidates)
|
||||
(delete-char -3)
|
||||
|
||||
(insert "temp.")
|
||||
(js2-parse)
|
||||
(ac-js2-candidates)
|
||||
(setq property-dot ac-js2-skewer-candidates)
|
||||
(delete-char -5)
|
||||
|
||||
(insert "temp.aF")
|
||||
(js2-parse)
|
||||
(ac-js2-candidates)
|
||||
(setq property ac-js2-skewer-candidates))
|
||||
|
||||
(should (assoc 'anotherFunction property-dot))
|
||||
(print property)
|
||||
(should (assoc 'aFun property))
|
||||
(should (assoc 'temp var))))
|
||||
|
||||
(defmacro completion-frontend-test (test-name completion-function)
|
||||
"Utility for testing completion front ends.
|
||||
TODO: cover more cases"
|
||||
`(ert-deftest ,test-name ()
|
||||
(let (var)
|
||||
(with-temp-buffer
|
||||
(insert "var testComplete = function(param1, param2) {};")
|
||||
|
||||
(js2-mode)
|
||||
(ac-js2-mode t)
|
||||
(js2-parse)
|
||||
|
||||
(insert "testComplet")
|
||||
(funcall ',completion-function)
|
||||
(setq var (thing-at-point 'word)))
|
||||
(should (string= var "testComplete")))))
|
||||
|
||||
(completion-frontend-test auto-complete-test auto-complete)
|
||||
(completion-frontend-test completion-at-point-test completion-at-point)
|
||||
Reference in New Issue
Block a user