\r
;;; Loading\r
;;;\r
-(ert-deftest basic-loading ()\r
+(defmacro with-some-interesting-snippet-dirs (&rest body)\r
+ `(yas/saving-variables\r
+ (with-snippet-dirs\r
+ '((".emacs.d/snippets"\r
+ ("c-mode"\r
+ (".yas-parents" . "cc-mode")\r
+ ("printf" . "printf($1);"))\r
+ ("emacs-lisp-mode" ("ert-deftest" . "(ert-deftest ${1:name} () $0)"))\r
+ ("lisp-interaction-mode" (".yas-parents" . "emacs-lisp-mode")))\r
+ ("library/snippets"\r
+ ("c-mode" (".yas-parents" . "c++-mode"))\r
+ ("cc-mode" ("def" . "# define"))\r
+ ("emacs-lisp-mode" ("dolist" . "(dolist)"))\r
+ ("lisp-interaction-mode" ("sc" . "brother from another mother"))))\r
+ ,@body)))\r
+\r
+(ert-deftest basic-jit-loading ()\r
"Test basic loading and expansion of snippets"\r
+ (yas/basic-jit-loading-1))\r
+\r
+(ert-deftest basic-jit-loading-with-compiled-snippets ()\r
+ "Test basic loading and expansion of snippets"\r
+ (yas/basic-jit-loading-1 'compile))\r
+\r
+(defun yas/basic-jit-loading-1 (&optional compile)\r
(yas/saving-variables\r
(with-snippet-dirs\r
'((".emacs.d/snippets"\r
("cc-mode" ("def" . "# define"))\r
("emacs-lisp-mode" ("dolist" . "(dolist)"))\r
("lisp-interaction-mode" ("sc" . "brother from another mother"))))\r
- (yas/reload-all 'with-jit)\r
+ (yas/reload-all)\r
(with-temp-buffer\r
(should (= 4 (hash-table-count yas/scheduled-jit-loads)))\r
(should (= 0 (hash-table-count yas/tables)))\r
("dolist" . "(dolist)")\r
("ert-deftest" . "(ert-deftest name () )")))\r
(c-mode)\r
+ (yas/minor-mode 1)\r
(yas/should-expand '(("printf" . "printf();")\r
("def" . "# define")))\r
(yas/should-not-expand '("sc" "dolist" "ert-deftest"))))))\r