@@ -21,7 +21,6 @@ public class Test_RichSuggestBox : VisualUITestBase
2121 [ DataRow ( "@Token1" , "@Token2" , "@Token3" ) ]
2222 [ DataRow ( "@Token1" , "@Token2" , "#Token3" ) ]
2323 [ DataRow ( "#Token1" , "@Token2" , "@Token3" ) ]
24- [ Ignore ( "Intermittent failure - see https://github.com/CommunityToolkit/Windows/issues/589" ) ]
2524 public async Task Test_RichSuggestBox_AddTokens ( string tokenText1 , string tokenText2 , string tokenText3 )
2625 {
2726 await App . DispatcherQueue . EnqueueAsync ( async ( ) =>
@@ -129,7 +128,6 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
129128 [ DataRow ( "@Token1" , "@Token2" ) ]
130129 [ DataRow ( "@Token1" , "#Token2" ) ]
131130 [ DataRow ( "#Token1" , "@Token2" ) ]
132- [ Ignore ( "Intermittent failure - see https://github.com/CommunityToolkit/Windows/issues/589" ) ]
133131 public async Task Test_RichSuggestBox_DeleteTokens ( string token1 , string token2 )
134132 {
135133 await App . DispatcherQueue . EnqueueAsync ( async ( ) =>
@@ -147,13 +145,13 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
147145 // Delete token as a whole
148146 selection . Delete ( TextRangeUnit . Character , - 1 ) ;
149147 selection . Delete ( TextRangeUnit . Link , - 1 ) ;
150- await Task . Delay ( 10 ) ;
148+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
151149
152150 Assert . AreEqual ( 1 , rsb . Tokens . Count , "Unexpected token count after deleting token 2" ) ;
153151
154152 // Partially delete a token
155153 selection . Delete ( TextRangeUnit . Character , - 2 ) ;
156- await Task . Delay ( 10 ) ;
154+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
157155
158156 Assert . AreEqual ( 0 , rsb . Tokens . Count , "Unexpected token count after deleting token 1" ) ;
159157 } ) ;
@@ -175,7 +173,7 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
175173 AssertToken ( rsb , tokenBefore ) ;
176174
177175 selection . Delete ( TextRangeUnit . Character , - 2 ) ;
178- await Task . Delay ( 10 ) ;
176+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
179177
180178 await AddTokenAsync ( rsb , "@After" ) ;
181179 var tokenAfter = rsb . Tokens [ 0 ] ;
@@ -205,17 +203,17 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
205203 await AddTokenAsync ( rsb , "@Token2" ) ;
206204 selection . Delete ( TextRangeUnit . Character , - 1 ) ;
207205
208- await Task . Delay ( 10 ) ;
206+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
209207 selection . SetText ( TextSetOptions . Unhide , "text" ) ;
210208 Assert . AreEqual ( defaultFormat . BackgroundColor , selection . CharacterFormat . BackgroundColor , "Raw text have background color after a token." ) ;
211209
212210 selection . SetRange ( middlePosition , middlePosition ) ;
213- await Task . Delay ( 10 ) ;
211+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
214212 selection . SetText ( TextSetOptions . Unhide , "text" ) ;
215213 Assert . AreEqual ( defaultFormat . BackgroundColor , selection . CharacterFormat . BackgroundColor , "Raw text have background color when sandwiched between 2 tokens." ) ;
216214
217215 selection . SetRange ( 0 , 0 ) ;
218- await Task . Delay ( 10 ) ;
216+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
219217 selection . SetText ( TextSetOptions . Unhide , "text" ) ;
220218 Assert . AreEqual ( defaultFormat . BackgroundColor , selection . CharacterFormat . BackgroundColor , "Raw text have background color when insert at beginning of the document." ) ;
221219 } ) ;
@@ -304,7 +302,7 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
304302 selection . TypeText ( "after" ) ;
305303
306304 rsb . Load ( rtf , new [ ] { token1 , token2 } ) ;
307- await Task . Delay ( 10 ) ;
305+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ;
308306 document . GetText ( TextGetOptions . NoHidden , out var text ) ;
309307
310308 Assert . AreEqual ( 2 , rsb . Tokens . Count , "Unexpected tokens count after load." ) ;
@@ -360,8 +358,8 @@ private static async Task AddTokenAsync(RichSuggestBox rsb, string tokenText)
360358 {
361359 var selection = rsb . TextDocument ! . Selection ;
362360 selection . TypeText ( tokenText ) ;
363- await Task . Delay ( 10 ) ; // Wait for SelectionChanged to be invoked
361+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ; // Wait for SelectionChanged to be invoked
364362 await rsb . CommitSuggestionAsync ( tokenText ) ;
365- await Task . Delay ( 10 ) ; // Wait for TextChanged to be invoked
363+ await CompositionTargetHelper . ExecuteAfterCompositionRenderingAsync ( ( ) => { } ) ; // Wait for TextChanged to be invoked
366364 }
367365}
0 commit comments