@@ -99,6 +99,22 @@ defmodule FlowTest do
99
99
end
100
100
end
101
101
102
+ test "child_spec/2" do
103
+ parent = self ( )
104
+
105
+ start_supervised! (
106
+ { Flow ,
107
+ Flow . from_enumerables ( [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] , stages: 2 )
108
+ |> Flow . filter ( & ( rem ( & 1 , 2 ) == 0 ) )
109
+ |> Flow . map ( & send ( parent , & 1 ) ) }
110
+ )
111
+
112
+ assert_receive 2
113
+ assert_receive 4
114
+ assert_receive 6
115
+ refute_received 1
116
+ end
117
+
102
118
describe "errors" do
103
119
test "on multiple reduce calls" do
104
120
message = ~r" cannot call group_by/reduce/emit_and_reduce on a flow after another"
@@ -777,8 +793,8 @@ defmodule FlowTest do
777
793
assert_receive { :consumed , [ 2 ] }
778
794
assert_receive { :consumed , [ 4 ] }
779
795
assert_receive { :consumed , [ 6 ] }
780
- assert_receive { :consumed , ' \b ' }
781
- assert_receive { :consumed , ' \n ' }
796
+ assert_receive { :consumed , [ 8 ] }
797
+ assert_receive { :consumed , [ 10 ] }
782
798
end
783
799
784
800
test "into_stages/3 with :name" , config do
@@ -805,19 +821,19 @@ defmodule FlowTest do
805
821
806
822
assert_receive { :producer_consumed , [ 2 ] }
807
823
assert_receive { :producer_consumed , [ 6 ] }
808
- assert_receive { :producer_consumed , ' \b ' }
824
+ assert_receive { :producer_consumed , [ 8 ] }
809
825
assert_receive { :producer_consumed , [ 1 ] }
810
826
assert_receive { :producer_consumed , [ 5 ] }
811
- assert_receive { :producer_consumed , ' \a \t ' }
827
+ assert_receive { :producer_consumed , ~c " \a \t " }
812
828
assert_receive { :producer_consumed , [ 3 ] }
813
829
assert_receive { :producer_consumed , [ 4 ] }
814
- assert_receive { :producer_consumed , ' \n ' }
830
+ assert_receive { :producer_consumed , [ 10 ] }
815
831
816
832
assert_receive { :producer_consumed , [ 2 ] }
817
833
assert_receive { :producer_consumed , [ 6 ] }
818
- assert_receive { :producer_consumed , ' \b ' }
834
+ assert_receive { :producer_consumed , [ 8 ] }
819
835
assert_receive { :producer_consumed , [ 4 ] }
820
- assert_receive { :producer_consumed , ' \n ' }
836
+ assert_receive { :producer_consumed , [ 10 ] }
821
837
end
822
838
823
839
test "through_stages/3 + into_stages/3" do
@@ -833,25 +849,25 @@ defmodule FlowTest do
833
849
834
850
assert_receive { :producer_consumed , [ 2 ] }
835
851
assert_receive { :producer_consumed , [ 6 ] }
836
- assert_receive { :producer_consumed , ' \b ' }
852
+ assert_receive { :producer_consumed , [ 8 ] }
837
853
assert_receive { :producer_consumed , [ 1 ] }
838
854
assert_receive { :producer_consumed , [ 5 ] }
839
- assert_receive { :producer_consumed , ' \a \t ' }
855
+ assert_receive { :producer_consumed , ~c " \a \t " }
840
856
assert_receive { :producer_consumed , [ 3 ] }
841
857
assert_receive { :producer_consumed , [ 4 ] }
842
- assert_receive { :producer_consumed , ' \n ' }
858
+ assert_receive { :producer_consumed , [ 10 ] }
843
859
844
860
assert_receive { :producer_consumed , [ 2 ] }
845
861
assert_receive { :producer_consumed , [ 6 ] }
846
- assert_receive { :producer_consumed , ' \b ' }
862
+ assert_receive { :producer_consumed , [ 8 ] }
847
863
assert_receive { :producer_consumed , [ 4 ] }
848
- assert_receive { :producer_consumed , ' \n ' }
864
+ assert_receive { :producer_consumed , [ 10 ] }
849
865
850
866
assert_receive { :consumed , [ 2 ] }
851
867
assert_receive { :consumed , [ 6 ] }
852
- assert_receive { :consumed , ' \b ' }
868
+ assert_receive { :consumed , [ 8 ] }
853
869
assert_receive { :consumed , [ 4 ] }
854
- assert_receive { :consumed , ' \n ' }
870
+ assert_receive { :consumed , [ 10 ] }
855
871
end
856
872
857
873
test "into_specs/3" do
@@ -863,8 +879,8 @@ defmodule FlowTest do
863
879
assert_receive { :consumed , [ 2 ] }
864
880
assert_receive { :consumed , [ 4 ] }
865
881
assert_receive { :consumed , [ 6 ] }
866
- assert_receive { :consumed , ' \b ' }
867
- assert_receive { :consumed , ' \n ' }
882
+ assert_receive { :consumed , [ 8 ] }
883
+ assert_receive { :consumed , [ 10 ] }
868
884
end
869
885
870
886
test "into_specs/3 with :name" , config do
@@ -886,19 +902,19 @@ defmodule FlowTest do
886
902
887
903
assert_receive { :producer_consumed , [ 2 ] }
888
904
assert_receive { :producer_consumed , [ 6 ] }
889
- assert_receive { :producer_consumed , ' \b ' }
905
+ assert_receive { :producer_consumed , [ 8 ] }
890
906
assert_receive { :producer_consumed , [ 1 ] }
891
907
assert_receive { :producer_consumed , [ 5 ] }
892
- assert_receive { :producer_consumed , ' \a \t ' }
908
+ assert_receive { :producer_consumed , ~c " \a \t " }
893
909
assert_receive { :producer_consumed , [ 3 ] }
894
910
assert_receive { :producer_consumed , [ 4 ] }
895
- assert_receive { :producer_consumed , ' \n ' }
911
+ assert_receive { :producer_consumed , [ 10 ] }
896
912
897
913
assert_receive { :producer_consumed , [ 2 ] }
898
914
assert_receive { :producer_consumed , [ 6 ] }
899
- assert_receive { :producer_consumed , ' \b ' }
915
+ assert_receive { :producer_consumed , [ 8 ] }
900
916
assert_receive { :producer_consumed , [ 4 ] }
901
- assert_receive { :producer_consumed , ' \n ' }
917
+ assert_receive { :producer_consumed , [ 10 ] }
902
918
end
903
919
904
920
test "through_specs/3 + into_specs/3" do
@@ -910,25 +926,25 @@ defmodule FlowTest do
910
926
911
927
assert_receive { :producer_consumed , [ 2 ] }
912
928
assert_receive { :producer_consumed , [ 6 ] }
913
- assert_receive { :producer_consumed , ' \b ' }
929
+ assert_receive { :producer_consumed , [ 8 ] }
914
930
assert_receive { :producer_consumed , [ 1 ] }
915
931
assert_receive { :producer_consumed , [ 5 ] }
916
- assert_receive { :producer_consumed , ' \a \t ' }
932
+ assert_receive { :producer_consumed , ~c " \a \t " }
917
933
assert_receive { :producer_consumed , [ 3 ] }
918
934
assert_receive { :producer_consumed , [ 4 ] }
919
- assert_receive { :producer_consumed , ' \n ' }
935
+ assert_receive { :producer_consumed , [ 10 ] }
920
936
921
937
assert_receive { :producer_consumed , [ 2 ] }
922
938
assert_receive { :producer_consumed , [ 6 ] }
923
- assert_receive { :producer_consumed , ' \b ' }
939
+ assert_receive { :producer_consumed , [ 8 ] }
924
940
assert_receive { :producer_consumed , [ 4 ] }
925
- assert_receive { :producer_consumed , ' \n ' }
941
+ assert_receive { :producer_consumed , [ 10 ] }
926
942
927
943
assert_receive { :consumed , [ 2 ] }
928
944
assert_receive { :consumed , [ 6 ] }
929
- assert_receive { :consumed , ' \b ' }
945
+ assert_receive { :consumed , [ 8 ] }
930
946
assert_receive { :consumed , [ 4 ] }
931
- assert_receive { :consumed , ' \n ' }
947
+ assert_receive { :consumed , [ 10 ] }
932
948
end
933
949
end
934
950
0 commit comments