@@ -562,14 +562,20 @@ defmodule CodeFragmentTest do
562562      assert  CF . surround_context ( "안녕_세상" ,  { 1 ,  6 } )  ==  :none 
563563
564564      # Keywords are not local or var 
565-       for  keyword  <-  ~w( do end after catch else rescue fn true false nil) c   do 
566-         keyword_length   =  length ( keyword )   +   1 
567- 
568-         assert  % { 
569-                  context:  { :keyword ,  ^ keyword } , 
565+       for  keyword  <-  ~w( do end after catch else rescue fn true false nil) c , 
566+            length   =  length ( keyword ) , 
567+            i   <-   1 .. length   do 
568+         assert  CF . surround_context ( keyword ,   { 1 ,   i } )   ==   % { 
569+                  context:  { :keyword ,  keyword } , 
570570                 begin:  { 1 ,  1 } , 
571-                  end:  { 1 ,  ^ keyword_length } 
572-                }  =  CF . surround_context ( keyword ,  { 1 ,  1 } ) 
571+                  end:  { 1 ,  length  +  1 } 
572+                } 
573+ 
574+         assert  CF . surround_context ( ~c" Foo "   ++  keyword ,  { 1 ,  4  +  i } )  ==  % { 
575+                  context:  { :keyword ,  keyword } , 
576+                  begin:  { 1 ,  5 } , 
577+                  end:  { 1 ,  length  +  5 } 
578+                } 
573579      end 
574580    end 
575581
@@ -664,6 +670,12 @@ defmodule CodeFragmentTest do
664670                 begin:  { 1 ,  1 } , 
665671                 end:  { 1 ,  byte_size ( op )  +  1 } 
666672               } 
673+ 
674+         assert  CF . surround_context ( "Foo #{ op }  ,  { 1 ,  4  +  i } )  ==  % { 
675+                  context:  { :operator ,  String . to_charlist ( op ) } , 
676+                  begin:  { 1 ,  5 } , 
677+                  end:  { 1 ,  byte_size ( op )  +  5 } 
678+                } 
667679      end 
668680    end 
669681
0 commit comments