@@ -1096,6 +1096,17 @@ defmodule CodeFragmentTest do
10961096 assert cc2q ( ~S| "foo #{"bar #{{| ) == s2q ( ~S| "foo #{"bar #{{__cursor__()}}"}"| )
10971097 end
10981098
1099+ test "keeps operators" do
1100+ assert cc2q ( "1 + 2" ) == s2q ( "1 + __cursor__()" )
1101+ end
1102+
1103+ test "keeps function calls without parens" do
1104+ # assert cc2q("alias foo") == s2q("alias __cursor__()")
1105+ # assert cc2q("alias Foo.Bar") == s2q("alias __cursor__()")
1106+ assert cc2q ( "alias Foo.Bar," ) == s2q ( "alias Foo.Bar, __cursor__()" )
1107+ assert cc2q ( "alias Foo.Bar, as: " ) == s2q ( "alias Foo.Bar, as: __cursor__()" )
1108+ end
1109+
10991110 test "do-end blocks" do
11001111 assert cc2q ( "foo do baz" ) == s2q ( "foo do __cursor__() end" )
11011112 assert cc2q ( "foo do bar; baz" ) == s2q ( "foo do bar; __cursor__() end" )
@@ -1166,20 +1177,19 @@ defmodule CodeFragmentTest do
11661177 assert cc2q ( "(123" ) == s2q ( "(__cursor__())" )
11671178 assert cc2q ( "[foo" ) == s2q ( "[__cursor__()]" )
11681179 assert cc2q ( "{'foo'" ) == s2q ( "{__cursor__()}" )
1169- assert cc2q ( "<<1+2" ) == s2q ( "<<__cursor__()>>" )
11701180 assert cc2q ( "foo do :atom" ) == s2q ( "foo do __cursor__() end" )
11711181 assert cc2q ( "foo(:atom" ) == s2q ( "foo(__cursor__())" )
11721182 end
11731183
11741184 test "removes tokens until comma" do
11751185 assert cc2q ( "[bar, 123" ) == s2q ( "[bar, __cursor__()]" )
11761186 assert cc2q ( "{bar, 'foo'" ) == s2q ( "{bar, __cursor__()}" )
1177- assert cc2q ( "<<bar, 1+2 " ) == s2q ( "<<bar, __cursor__()>>" )
1187+ assert cc2q ( "<<bar, \" sample \" " ) == s2q ( "<<bar, __cursor__()>>" )
11781188 assert cc2q ( "foo(bar, :atom" ) == s2q ( "foo(bar, __cursor__())" )
11791189 assert cc2q ( "foo bar, :atom" ) == s2q ( "foo(bar, __cursor__())" )
11801190 end
11811191
1182- test "removes functions" do
1192+ test "removes anonymous functions" do
11831193 assert cc2q ( "(fn" ) == s2q ( "(__cursor__())" )
11841194 assert cc2q ( "(fn x" ) == s2q ( "(__cursor__())" )
11851195 assert cc2q ( "(fn x ->" ) == s2q ( "(__cursor__())" )
@@ -1194,20 +1204,20 @@ defmodule CodeFragmentTest do
11941204 end
11951205
11961206 test "removes closed terminators" do
1197- assert cc2q ( "foo([1, 2, 3] |> " ) == s2q ( "foo(__cursor__())" )
1198- assert cc2q ( "foo({1, 2, 3} |> " ) == s2q ( "foo(__cursor__())" )
1199- assert cc2q ( "foo((1, 2, 3) |> " ) == s2q ( "foo(__cursor__())" )
1200- assert cc2q ( "foo(<<1, 2, 3>> |> " ) == s2q ( "foo(__cursor__())" )
1201- assert cc2q ( "foo(bar do :done end |> " ) == s2q ( "foo(__cursor__())" )
1207+ assert cc2q ( "foo([1, 2, 3]" ) == s2q ( "foo(__cursor__())" )
1208+ assert cc2q ( "foo({1, 2, 3}" ) == s2q ( "foo(__cursor__())" )
1209+ assert cc2q ( "foo((1, 2, 3)" ) == s2q ( "foo(__cursor__())" )
1210+ assert cc2q ( "foo(<<1, 2, 3>>" ) == s2q ( "foo(__cursor__())" )
1211+ assert cc2q ( "foo(bar do :done end" ) == s2q ( "foo(__cursor__())" )
12021212 end
12031213
12041214 test "incomplete expressions" do
1205- # assert cc2q("foo(123, :") == s2q("foo(123, __cursor__())")
1206- # assert cc2q("foo(123, %") == s2q("foo(123, __cursor__())")
1207- # assert cc2q("foo(123, 0x") == s2q("foo(123, __cursor__())")
1208- # assert cc2q("foo(123, ~") == s2q("foo(123, __cursor__())")
1215+ assert cc2q ( "foo(123, :" ) == s2q ( "foo(123, __cursor__())" )
1216+ assert cc2q ( "foo(123, %" ) == s2q ( "foo(123, __cursor__())" )
1217+ assert cc2q ( "foo(123, 0x" ) == s2q ( "foo(123, __cursor__())" )
1218+ assert cc2q ( "foo(123, ~" ) == s2q ( "foo(123, __cursor__())" )
12091219 assert cc2q ( "foo(123, ~r" ) == s2q ( "foo(123, __cursor__())" )
1210- # assert cc2q("foo(123, ~r/") == s2q("foo(123, __cursor__())")
1220+ assert cc2q ( "foo(123, ~r/" ) == s2q ( "foo(123, __cursor__())" )
12111221 end
12121222
12131223 test "no warnings" do
0 commit comments