add: ert-based test-suite

This commit is contained in:
Joao Tavora 2013-10-17 12:17:11 +01:00
parent b4bf8bbd33
commit 0adcad2190

View File

@ -1,4 +1,4 @@
;;; snippet-tests.el --- some basic tests for snippet.el -*- lexical-binding: t; -*-
;;; snippet-tests.el --- some basic tests for snippet.el
;; Copyright (C) 2013
@ -26,44 +26,36 @@
(require 'snippet)
(define-snippet printf ()
"printf (\""
(setq snippet--printf-snippet-forms
'("printf (\""
(field 1 "%s")
(mirror 1 (if (string-match "%" field-text) "\"," "\);"))
(mirror 1 (if (string-match "%" field-text) "\"," "\")"))
(field 2)
(mirror 1 (if (string-match "%" field-text) "\);" "")))
(mirror 1 (if (string-match "%" field-text) "\)" ""))))
(define-snippet foo ()
(field 1 "bla")
"ble"
(mirror 1)
(field 2
((field 3 "fonix")
"fotrix"
(mirror 1 (concat field-text "qqcoisa"))))
"end")
(ert-deftest printf-expansion ()
""
(with-temp-buffer
(funcall (eval `(make-snippet ,@snippet--printf-snippet-forms)))
(should (equal (buffer-string) "printf (\"%s\",)"))))
(define-snippet easy ()
"A "
(field 1 "field")
" and its mirror: "
(mirror 1 (format "(mirror of %s)" field-text)))
(ert-deftest printf-mirrors ()
""
(with-temp-buffer
(funcall (eval `(make-snippet ,@snippet--printf-snippet-forms)))
(ert-simulate-command '(delete-forward-char 1))
(should (equal (buffer-string) "printf (\"s\")"))
(ert-simulate-command '((lambda () (interactive) (insert "%"))))
(should (equal (buffer-string) "printf (\"%s\",)"))))
(defun test ()
(interactive)
(with-current-buffer (switch-to-buffer (get-buffer-create "*test easy snippet*"))
(erase-buffer)
(easy)))
(defun test2 ()
(interactive)
(with-current-buffer (switch-to-buffer (get-buffer-create "*test printf snippent*"))
(erase-buffer)
(printf)))
(provide 'snippet-tests)
;;; Local Variables:
;;; lexical-binding: t
;;; End:
;;; snippet-tests.el ends here
(ert-deftest printf-mirrors-and-navigation ()
""
(with-temp-buffer
(funcall (eval `(make-snippet ,@snippet--printf-snippet-forms)))
(ert-simulate-command '(delete-forward-char 1))
(should (equal (buffer-string) "printf (\"s\")"))
(ert-simulate-command '((lambda () (interactive) (insert "%"))))
(should (equal (buffer-string) "printf (\"%s\",)"))
(ert-simulate-command '(snippet-next-field))
(ert-simulate-command '((lambda () (interactive) (insert "somevar"))))
(should (equal (buffer-string) "printf (\"%s\",somevar)"))))