You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A very common convention in Clojure.test is to name unit tests ending in -test, which unfortunately can trigger yasnippet expansion
Reproduction of issue
Enable Yasnippets with this repository as a source of snippets
Type test and call yas-expand to generate a deftest form with the cursor placed on the deftest name as it matches the test snippet.
Type the test name, i.e. addition-test and press TAB to go to the next tab stop
Rather than jumping to the next tab stop, the test part of the deftest name is expanded into a deftest form, creating a second defttest form within the first.
If a space is typed after the deftest -test name then TAB does not expand to another deftest form.
Suggested options
Rename the test snippet to deftest or other name that will not expand from -test
Update test snippet to postfix -test to the name automatically (see deftest example below)
Hope everyone remembers to press space after the -test name, before pressing TAB
Additional point
The (testing ,,,) form is typically used within a deftest to organise assertions, (is ,,,) expressions, into logical groups. This supports more specific test reports when tests fail.
Consider adding testing to a snippet that generated a deftest, for example
(deftest ${1:name}-test
(testing "${2:Context of the test assertions}"$>
(is (= ${3:assertion-values}))$4))$>
$0
Tab stop 2 and 3 text will be substituted when visiting that tab stop.
The text was updated successfully, but these errors were encountered:
Hi @practicalli-john , so I just tried to reproduce the issue but I can't actually reproduce it.
I do test TAB hello-test TAB and it just goes to the next placeholder.
Do you have any yasnippet settings maybe that might cause this behaviour?
I just had a couple of configs for yasnippet but I checked and even changing them the behaviour still doesn't change.
A very common convention in Clojure.test is to name unit tests ending in
-test
, which unfortunately can trigger yasnippet expansionReproduction of issue
Enable Yasnippets with this repository as a source of snippets
Type
test
and callyas-expand
to generate adeftest
form with the cursor placed on the deftest name as it matches thetest
snippet.Type the test name, i.e.
addition-test
and pressTAB
to go to the next tab stopRather than jumping to the next tab stop, the
test
part of the deftest name is expanded into a deftest form, creating a second defttest form within the first.If a space is typed after the deftest
-test
name thenTAB
does not expand to another deftest form.Suggested options
test
snippet todeftest
or other name that will not expand from-test
test
snippet to postfix-test
to the name automatically (seedeftest
example below)-test
name, before pressingTAB
Additional point
The
(testing ,,,)
form is typically used within adeftest
to organise assertions,(is ,,,)
expressions, into logical groups. This supports more specific test reports when tests fail.Consider adding testing to a snippet that generated a deftest, for example
The text was updated successfully, but these errors were encountered: