@@ -1315,9 +1315,15 @@ defmodule CodeFragmentTest do
13151315      assert  cc2q! ( "(fn x ->" ,  trailing_fragment:  ":ok end)" )  == 
13161316               s2q! ( "(fn x -> __cursor__() end)" ) 
13171317
1318-       assert  cc2q! ( "(fn x ->" ,  trailing_fragment:  ":ok end)" )  == 
1318+       assert  cc2q! ( "(fn x ->" ,  trailing_fragment:  "\n :ok end)" )  == 
13191319               s2q! ( "(fn x -> __cursor__() end)" ) 
13201320
1321+       assert  cc2q! ( "(fn x when " ,  trailing_fragment:  "-> :ok end)" )  == 
1322+                s2q! ( "(fn x when __cursor__() -> :ok end)" ) 
1323+ 
1324+       assert  cc2q! ( "(fn x when " ,  trailing_fragment:  "->\n :ok end)" )  == 
1325+                s2q! ( "(fn x when __cursor__() -> :ok end)" ) 
1326+ 
13211327      assert  cc2q! ( "(fn" )  ==  s2q! ( "(__cursor__())" ) 
13221328      assert  cc2q! ( "(fn x" )  ==  s2q! ( "(__cursor__())" ) 
13231329      assert  cc2q! ( "(fn x," )  ==  s2q! ( "(__cursor__())" ) 
@@ -1327,6 +1333,23 @@ defmodule CodeFragmentTest do
13271333      assert  cc2q! ( "(fn x, y -> x + y end" )  ==  s2q! ( "(__cursor__())" ) 
13281334    end 
13291335
1336+     test  "do -> end"  do 
1337+       assert  cc2q! ( "if do\n x ->\n " ,  trailing_fragment:  "y\n z ->\n w\n end" )  == 
1338+                s2q! ( "if do\n x ->\n __cursor__()\n end" ) 
1339+ 
1340+       assert  cc2q! ( "if do\n x ->\n y" ,  trailing_fragment:  "\n z ->\n w\n end" )  == 
1341+                s2q! ( "if do\n x ->\n __cursor__()\n end" ) 
1342+ 
1343+       assert  cc2q! ( "if do\n x ->\n y\n " ,  trailing_fragment:  "\n z ->\n w\n end" )  == 
1344+                s2q! ( "if do\n x ->\n y\n __cursor__()\n end" ) 
1345+ 
1346+       assert  cc2q! ( "for x <- [], reduce: %{} do\n y, " ,  trailing_fragment:  "-> :ok\n end" )  == 
1347+                s2q! ( "for x <- [], reduce: %{} do\n y, __cursor__() -> :ok\n end" ) 
1348+ 
1349+       assert  cc2q! ( "for x <- [], reduce: %{} do\n y, z when " ,  trailing_fragment:  "-> :ok\n end" )  == 
1350+                s2q! ( "for x <- [], reduce: %{} do\n y, z when __cursor__() -> :ok\n end" ) 
1351+     end 
1352+ 
13301353    test  "removes tokens until opening"  do 
13311354      assert  cc2q! ( "(123" )  ==  s2q! ( "(__cursor__())" ) 
13321355      assert  cc2q! ( "[foo" )  ==  s2q! ( "[__cursor__()]" ) 
0 commit comments