emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 43a484e 028/177: add: external test for issue #404


From: João Távora
Subject: [elpa] master 43a484e 028/177: add: external test for issue #404
Date: Sat, 28 Mar 2015 15:40:35 +0000

branch: master
commit 43a484e943b7ddceb7def277d259c70bda62a5db
Author: Joao Tavora <address@hidden>
Commit: Joao Tavora <address@hidden>

    add: external test for issue #404
---
 Rakefile           |    4 +++-
 yasnippet-tests.el |   44 ++++++++++++++++++++++++++++++++++++++------
 2 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/Rakefile b/Rakefile
index fe25bcc..b7eb238 100644
--- a/Rakefile
+++ b/Rakefile
@@ -13,7 +13,9 @@ FileUtils.mkdir_p('pkg')
 
 desc "run tests in batch mode"
 task :tests do
-  sh "#{$EMACS} -Q -L . -l yasnippet-tests.el -nw --batch -e 
yas-batch-run-tests"
+  batch_run_line = "(yas-batch-run-tests t)"
+  sh "#{$EMACS} -Q -L . -l yasnippet-tests.el -nw" +
+    " --batch --eval '#{batch_run_line}'"
 end
 
 desc "convert some textmate bundles to yasnippets"
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index fd75063..6147b1d 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -210,9 +210,41 @@
     (yas-minor-mode 1)
     (insert "#include <foo>\n")
     (let ((snippet "main"))
-      (yas-expand-snippet snippet)
+      (let ((yas-good-grace nil)) (yas-expand-snippet snippet))
+      (should (string= (yas--buffer-contents) "#include <foo>\nmain")))))
+
+(ert-deftest example-for-issue-404-c-mode ()
+  (with-temp-buffer
+    (c-mode)
+    (yas-minor-mode 1)
+    (insert "#include <foo>\n")
+    (let ((snippet "main"))
+      (let ((yas-good-grace nil)) (yas-expand-snippet snippet))
       (should (string= (yas--buffer-contents) "#include <foo>\nmain")))))
 
+(ert-deftest example-for-issue-404-external-emacs ()
+  :tags '(:external)
+  (let ((fixture-el-file (make-temp-file "yas-404-fixture" nil ".el")))
+    (with-temp-buffer
+      (insert (pp-to-string
+               `(condition-case _
+                    (progn
+                      (require 'yasnippet)
+                      (yas-global-mode)
+                      (switch-to-buffer "foo.c")
+                      (c-mode)
+                      (insert "#include <iostream>\nmain")
+                      (setq yas-good-grace nil)
+                      (yas-expand)
+                      (kill-emacs 0))
+                  (error (kill-emacs -1)))))
+      (write-file fixture-el-file))
+    (should (= 0
+               (call-process (concat invocation-directory invocation-name)
+                             nil nil nil
+                             "-Q"  ;; "--batch"
+                             "-L" "." "-l" fixture-el-file)))))
+
 (ert-deftest middle-of-buffer-snippet-insertion ()
   (with-temp-buffer
     (yas-minor-mode 1)
@@ -572,14 +604,14 @@ TODO: be meaner"
 
 ;;; Helpers
 ;;;
-(defun yas-batch-run-tests ()
+(defun yas-batch-run-tests (&optional also-external)
   (interactive)
   (with-temp-buffer
     (yas--with-temporary-redefinitions
-        ((message (&rest _args) nil))
-      (ert t (buffer-name (current-buffer)))
-      (princ (buffer-string)))))
-
+     ((message (&rest _args) nil))
+     (ert (or (and also-external t)
+              '(not (tag :external))) (buffer-name (current-buffer)))
+    (princ (buffer-string)))))
 
 (defun yas-should-expand (keys-and-expansions)
   (dolist (key-and-expansion keys-and-expansions)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]