diff --git a/snippet-tests.el b/snippet-tests.el index 5e63851..3c09069 100644 --- a/snippet-tests.el +++ b/snippet-tests.el @@ -33,6 +33,9 @@ `((basic ((field 1 "foo") " bar " (mirror 1))) + (contrived ((field 1) + (field 2) + (field 3))) (printf ("printf (\"" (field 1 "%s") (mirror 1 (if (string-match "%" field-text) "\"," "\")")) @@ -60,6 +63,30 @@ (overlay-end snippet--field-overlay)) "foo" )))) +(ert-deftest contrived () + (with-temp-buffer + (snippet--insert-test-snippet 'contrived) + (should (equal (buffer-string) "")) + (ert-simulate-command '((lambda () (interactive) (insert "foo")))) + (ert-simulate-command '(snippet-next-field)) + (ert-simulate-command '((lambda () (interactive) (insert "bar")))) + (ert-simulate-command '(snippet-next-field)) + (ert-simulate-command '((lambda () (interactive) (insert "baz")))) + (should (equal (buffer-string) "foobarbaz")))) + +(ert-deftest contrived-2 () + (with-temp-buffer + (snippet--insert-test-snippet 'contrived) + (should (equal (buffer-string) "")) + (ert-simulate-command '(snippet-next-field)) + (ert-simulate-command '(snippet-next-field)) + (ert-simulate-command '((lambda () (interactive) (insert "baz")))) + (ert-simulate-command '(snippet-prev-field)) + (ert-simulate-command '((lambda () (interactive) (insert "bar")))) + (ert-simulate-command '(snippet-prev-field)) + (ert-simulate-command '((lambda () (interactive) (insert "foo")))) + (should (equal (buffer-string) "foobarbaz")))) + (ert-deftest printf-expansion () (with-temp-buffer (snippet--insert-test-snippet 'printf)