]> code.delx.au - gnu-emacs-elpa/commitdiff
enhancement: test snippet compilation and loading. refactor test helpers
authorJoão Távora <joaotavora@gmail.com>
Sun, 22 Apr 2012 15:34:12 +0000 (16:34 +0100)
committerJoão Távora <joaotavora@gmail.com>
Sun, 22 Apr 2012 15:34:12 +0000 (16:34 +0100)
yasnippet-tests.el

index 3d1830934d9bee6a2f2dbec38ace83f3e0e5ef1d..157debb8265f50f6c66c85bbf91964446e26eaec 100755 (executable)
@@ -112,8 +112,31 @@ TODO: correct this bug!"
 \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
@@ -127,7 +150,7 @@ TODO: correct this bug!"
        ("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
@@ -140,6 +163,7 @@ TODO: correct this bug!"
                            ("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