@@ -7,40 +7,7 @@ Task<VerifyResult> VerifyInner(IEnumerable<Target> targets) =>
77
88 async Task < VerifyResult > VerifyInner ( object ? root , Func < Task > ? cleanup , IEnumerable < Target > targets , bool doExtensionConversion , bool ignoreNullRoot )
99 {
10- var resultTargets = new List < Target > ( ) ;
11- if ( TryGetRootTarget ( root , ignoreNullRoot , out var rootTarget ) )
12- {
13- resultTargets . Add ( rootTarget . Value ) ;
14- }
15-
16- cleanup ??= ( ) => Task . CompletedTask ;
17-
18- var ( extraTargets , extraCleanup ) = await GetTargets ( targets , doExtensionConversion ) ;
19- cleanup += extraCleanup ;
20- resultTargets . AddRange ( extraTargets ) ;
21-
22- var stringOrStreams = resultTargets . Select ( _ =>
23- {
24- if ( _ . IsObject )
25- {
26- return new ( )
27- {
28- Extension = _ . Extension ,
29- Name = _ . Name ,
30- Stream = _ . streamData ,
31- StringBuilder = JsonFormatter . AsJson ( settings , counter , _ . objectData ! ) ,
32- } ;
33- }
34-
35- return new StringOrStream
36- {
37- Extension = _ . Extension ,
38- Name = _ . Name ,
39- Stream = _ . streamData ,
40- StringBuilder = _ . stringBuilderData ,
41- } ;
42- } )
43- . ToList ( ) ;
10+ ( cleanup , var stringOrStreams ) = await ProcessTargets ( root , cleanup , targets , doExtensionConversion , ignoreNullRoot ) ;
4411 var engine = new VerifyEngine (
4512 directory ,
4613 settings ,
@@ -65,10 +32,17 @@ async Task<VerifyResult> VerifyInner(object? root, Func<Task>? cleanup, IEnumera
6532 return new ( filePairs , root ) ;
6633 }
6734
68- async Task < ( List < Target > extra , Func < Task > cleanup ) > GetTargets ( IEnumerable < Target > targets , bool doExtensionConversion )
35+ async Task < ( Func < Task > cleanup , List < StringOrStream > stringOrStreams ) > ProcessTargets ( object ? root , Func < Task > ? cleanup , IEnumerable < Target > targets , bool doExtensionConversion , bool ignoreNullRoot )
6936 {
37+ var resultTargets = new List < Target > ( ) ;
38+ if ( TryGetRootTarget ( root , ignoreNullRoot , out var rootTarget ) )
39+ {
40+ resultTargets . Add ( rootTarget . Value ) ;
41+ }
42+
43+ cleanup ??= ( ) => Task . CompletedTask ;
44+
7045 List < Target > list = [ ..targets , ..VerifierSettings . GetFileAppenders ( settings ) ] ;
71- var cleanup = ( ) => Task . CompletedTask ;
7246 if ( doExtensionConversion )
7347 {
7448 var result = new List < Target > ( ) ;
@@ -100,15 +74,39 @@ async Task<VerifyResult> VerifyInner(object? root, Func<Task>? cleanup, IEnumera
10074 list = result ;
10175 }
10276
103- foreach ( var target in list )
77+ resultTargets . AddRange ( list ) ;
78+
79+ foreach ( var target in resultTargets )
10480 {
10581 if ( target . TryGetStringBuilder ( out var builder ) )
10682 {
10783 ApplyScrubbers . ApplyForExtension ( target . Extension , builder , settings , counter ) ;
10884 }
10985 }
11086
111- return ( list , cleanup ) ;
87+ var stringOrStreams = resultTargets . Select ( _ =>
88+ {
89+ if ( _ . IsObject )
90+ {
91+ return new ( )
92+ {
93+ Extension = _ . Extension ,
94+ Name = _ . Name ,
95+ Stream = _ . streamData ,
96+ StringBuilder = JsonFormatter . AsJson ( settings , counter , _ . objectData ! ) ,
97+ } ;
98+ }
99+
100+ return new StringOrStream
101+ {
102+ Extension = _ . Extension ,
103+ Name = _ . Name ,
104+ Stream = _ . streamData ,
105+ StringBuilder = _ . stringBuilderData ,
106+ } ;
107+ } )
108+ . ToList ( ) ;
109+ return ( cleanup , stringOrStreams ) ;
112110 }
113111
114112 bool TryGetRootTarget ( object ? root , bool ignoreNullRoot , [ NotNullWhen ( true ) ] out Target ? target )
@@ -137,9 +135,7 @@ bool TryGetRootTarget(object? root, bool ignoreNullRoot, [NotNullWhen(true)] out
137135 }
138136 else
139137 {
140- var builder = new StringBuilder ( stringRoot ) ;
141- ApplyScrubbers . ApplyForExtension ( "txt" , builder , settings , counter ) ;
142- target = new ( "txt" , builder ) ;
138+ target = new ( "txt" , new StringBuilder ( stringRoot ) ) ;
143139 }
144140
145141 return true ;
0 commit comments