[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master eeb4b62 14/36: Add new tests for multi-line mirror indenta
From: |
Noam Postavsky |
Subject: |
[elpa] master eeb4b62 14/36: Add new tests for multi-line mirror indentation |
Date: |
Sat, 11 Jun 2016 19:21:10 +0000 (UTC) |
branch: master
commit eeb4b62efb636ba7e74d9afdfd14f906b23f9111
Author: João Távora <address@hidden>
Commit: Noam Postavsky <address@hidden>
Add new tests for multi-line mirror indentation
* yasnippet-tests.el (basic-indentation):
(navigate-a-snippet-with-multiline-mirrors-issue-665): New tests.
---
yasnippet-tests.el | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index cb5bd47..828d71a 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -193,6 +193,51 @@
(ert-simulate-command '(yas-prev-field))
(should (looking-at "little sibling"))))
+(ert-deftest basic-indentation ()
+ (with-temp-buffer
+ (ruby-mode)
+ (yas-minor-mode 1)
+ (set (make-local-variable 'yas-indent-line) 'auto)
+ (set (make-local-variable 'yas-also-auto-indent-first-line) t)
+ (yas-expand-snippet "def ${1:method}${2:(${3:args})}\n$0\nend")
+ (cl-loop repeat 3 do (ert-simulate-command '(yas-next-field)))
+ (yas-mock-insert (make-string (random 5) ?\ )) ; purposedly mess up
indentation
+ (yas-expand-snippet "class << ${self}\n$0\nend")
+ (ert-simulate-command '(yas-next-field))
+ (should (string= "def method(args)
+ class << self
+
+ end
+end" (buffer-string)))
+ (should (= 4 (current-column)))))
+
+(ert-deftest navigate-a-snippet-with-multiline-mirrors-issue-665 ()
+ "In issue 665, a multi-line mirror is attempted.
+
+Indentation doesn't (yet) happen on these mirrors, but let this
+test guard against any misnavigations that might be introduced by
+an incorrect implementation of mirror auto-indentation"
+ (with-temp-buffer
+ (ruby-mode)
+ (yas-minor-mode 1)
+ (yas-expand-snippet "def initialize(${1:params})\n$2${1:$(
+mapconcat #'(lambda (arg)
+ (format \"@%s = %s\" arg arg))
+ (split-string yas-text \", \")
+ \"\n\")}\nend")
+ (yas-mock-insert "bla, ble, bli")
+ (ert-simulate-command '(yas-next-field))
+ (let ((expected (mapconcat #'identity
+ '("@bla = bla"
+ "[[:blank:address@hidden = ble"
+ "[[:blank:address@hidden = bli")
+ "\n")))
+ (should (looking-at expected))
+ (yas-mock-insert "blo")
+ (ert-simulate-command '(yas-prev-field))
+ (ert-simulate-command '(yas-next-field))
+ (should (looking-at (concat "blo" expected))))))
+
;;; Snippet expansion and character escaping
;;; Thanks to @zw963 (Billy) for the testing
- [elpa] master e37ce9e 18/36: Disable region wrapping for trigger key expansion, (continued)
- [elpa] master e37ce9e 18/36: Disable region wrapping for trigger key expansion, Noam Postavsky, 2016/06/11
- [elpa] master 6180cc4 28/36: Fix field transform application in yas-next-field, Noam Postavsky, 2016/06/11
- [elpa] master 146b161 25/36: Don't indent empty lines in snippet expansion, Noam Postavsky, 2016/06/11
- [elpa] master e9406f5 26/36: Document $> and fix escaping, Noam Postavsky, 2016/06/11
- [elpa] master 6f97316 27/36: Fix outdated and misformatted docs, Noam Postavsky, 2016/06/11
- [elpa] master bd30a30 04/36: yas-dont-activate is a hook, Noam Postavsky, 2016/06/11
- [elpa] master c1b2cb7 17/36: Improve documentation for new register option, Noam Postavsky, 2016/06/11
- [elpa] master 4c6064c 01/36: Avoid potential problems with user's hooks, Noam Postavsky, 2016/06/11
- [elpa] master 5d44a9f 19/36: Revert "Disable region wrapping for trigger key expansion", Noam Postavsky, 2016/06/11
- [elpa] master beb2ba4 21/36: Fix fields following $0 + region insertion, Noam Postavsky, 2016/06/11
- [elpa] master eeb4b62 14/36: Add new tests for multi-line mirror indentation,
Noam Postavsky <=
- [elpa] master 78fe979 22/36: Support htmlize.el in Rakefile doc target, Noam Postavsky, 2016/06/11
- [elpa] master 7f03a23 07/36: Change Emacs installation method for Travis CI, Noam Postavsky, 2016/06/11
- [elpa] master 0d79e69 30/36: Extra measures to prevent premature yas-minor-mode, Noam Postavsky, 2016/06/11
- [elpa] master 497867c 32/36: Rename yas-backport-obsolete-alias, Noam Postavsky, 2016/06/11
- [elpa] master e23a053 34/36: Avoid bug in insert-file-contents with REPLACE=t, Noam Postavsky, 2016/06/11
- [elpa] master 567ada0 06/36: Decide field clearing based on command's effect, Noam Postavsky, 2016/06/11
- [elpa] master bdfab67 24/36: Make yasnippet less chatty, Noam Postavsky, 2016/06/11
- [elpa] master bbfa1f0 31/36: Add yas-backport-obsolete-alias option, Noam Postavsky, 2016/06/11
- [elpa] master bfe14f1 10/36: Test and fix problem with mirror+autofill, Noam Postavsky, 2016/06/11
- [elpa] master df229b9 23/36: Fix some doc formatting, Noam Postavsky, 2016/06/11