@@ -321,8 +321,6 @@ defmodule KernelTest do
321321 defp struct_or_map? ( arg , name ) when is_struct ( arg , name ) or is_map ( arg ) , do: true
322322 defp struct_or_map? ( _arg , _name ) , do: false
323323
324- defp not_atom ( ) , do: "not atom"
325-
326324 test "is_struct/2" do
327325 assert delegate_is_struct ( % { } , Macro.Env ) == false
328326 assert delegate_is_struct ( [ ] , Macro.Env ) == false
@@ -336,7 +334,7 @@ defmodule KernelTest do
336334 assert guarded_is_struct ( % { } , Macro.Env ) == false
337335
338336 assert_raise ArgumentError , "argument error" , fn ->
339- is_struct ( % { } , not_atom ( ) )
337+ is_struct ( % { } , Process . get ( :unused , "not atom" ) )
340338 end
341339 end
342340
@@ -417,7 +415,7 @@ defmodule KernelTest do
417415 assert guarded_is_exception ( % { } , RuntimeError ) == false
418416
419417 assert_raise ArgumentError , "argument error" , fn ->
420- delegate_is_exception ( % { } , not_atom ( ) )
418+ delegate_is_exception ( % { } , Process . get ( :unused , "not atom" ) )
421419 end
422420 end
423421
@@ -594,7 +592,7 @@ defmodule KernelTest do
594592 assert map_dot ( % { field: true } )
595593 end
596594
597- test "performs all side-effects" do
595+ test "performs all side-effects in order " do
598596 assert 1 in [ 1 , send ( self ( ) , 2 ) ]
599597 assert_received 2
600598
@@ -603,9 +601,17 @@ defmodule KernelTest do
603601
604602 assert 2 in [ 1 | send ( self ( ) , [ 2 ] ) ]
605603 assert_received [ 2 ]
604+
605+ send ( self ( ) , :first ) in send ( self ( ) , [ :first , :second , :third ] )
606+ assert Process . info ( self ( ) , :messages ) == { :messages , [ :first , [ :first , :second , :third ] ] }
607+ assert_received :first
608+ assert_received [ :first , :second , :third ]
609+
610+ send ( self ( ) , 0 ) in send ( self ( ) , - 2 ) .. send ( self ( ) , 2 ) // send ( self ( ) , 1 )
611+ assert Process . info ( self ( ) , :messages ) == { :messages , [ 0 , - 2 , 2 , 1 ] }
606612 end
607613
608- test "has proper evaluation order " do
614+ test "preserves variable semantics " do
609615 a = 1
610616 assert 1 in [ a = 2 , a ]
611617 # silence unused var warning
0 commit comments