@@ -15,10 +15,9 @@ public async Task InvokeFunctionOnLoadEventShouldFireDelayed()
1515 var service = new JsScriptingService ( ) ;
1616 var cfg = Configuration . Default . With ( service ) ;
1717 var html = "<!doctype html><div id=result></div><script>document.addEventListener('load', function () { document.querySelector('#result').textContent = 'done'; }, false);</script>" ;
18- var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) ) ;
18+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
19+ . WhenStable ( ) ;
1920 var div = document . QuerySelector ( "#result" ) ;
20- Assert . AreEqual ( "" , div . TextContent ) ;
21- await Task . Delay ( 20 ) ;
2221 Assert . AreEqual ( "done" , div . TextContent ) ;
2322 }
2423
@@ -164,8 +163,9 @@ public async Task BodyOnloadWorksWhenSetAsAttributeInitially()
164163window.foo = 1.0;
165164</script>
166165</body>" ;
167- var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) ) ;
168- await Task . Delay ( 30 ) ;
166+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
167+ . WhenStable ( ) ;
168+
169169 var value = document . ExecuteScript ( "window.foo" ) ;
170170 Assert . AreEqual ( 5.0 , value ) ;
171171 }
@@ -182,8 +182,8 @@ public async Task BodyOnloadWorksWhenSetAsAttributeLater()
182182document.body.setAttribute('onload', 'window.foo = 2+3');
183183</script>
184184</body>" ;
185- var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) ) ;
186- await Task . Delay ( 30 ) ;
185+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
186+ . WhenStable ( ) ;
187187 var value = document . ExecuteScript ( "window.foo" ) ;
188188 Assert . AreEqual ( 5.0 , value ) ;
189189 }
@@ -203,8 +203,8 @@ public async Task SetTimeoutWithNormalFunction()
203203}, 0);
204204</script>
205205</body>" ;
206- var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) ) ;
207- await Task . Delay ( 100 ) ;
206+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
207+ . WhenStable ( ) ;
208208 var result = service . GetOrCreateJint ( document ) . GetValue ( "completed" ) . AsBoolean ( ) ;
209209 Assert . IsTrue ( result ) ;
210210 }
@@ -226,12 +226,11 @@ public async Task DomContentLoadedEventIsFired_Issue50()
226226});
227227</script>
228228</body>" ;
229- await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
230- . Then ( document =>
231- {
232- var div = document . QuerySelector ( "div" ) ;
233- Assert . AreEqual ( "Success!" , div ? . TextContent ) ;
234- } ) ;
229+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
230+ . WhenStable ( ) ;
231+
232+ var div = document . QuerySelector ( "div" ) ;
233+ Assert . AreEqual ( "Success!" , div ? . TextContent ) ;
235234 }
236235
237236 [ Test ]
@@ -250,12 +249,11 @@ public async Task DocumentLoadEventIsFired_Issue42()
250249</script>
251250</body>" ;
252251 var context = BrowsingContext . New ( cfg ) ;
253- await context . OpenAsync ( m => m . Content ( html ) )
254- . Then ( document =>
255- {
256- var div = document . QuerySelector ( "div" ) ;
257- Assert . AreEqual ( "Success!" , div ? . TextContent ) ;
258- } ) ;
252+ var document = await context . OpenAsync ( m => m . Content ( html ) )
253+ . WhenStable ( ) ;
254+
255+ var div = document . QuerySelector ( "div" ) ;
256+ Assert . AreEqual ( "Success!" , div ? . TextContent ) ;
259257 }
260258
261259 [ Test ]
@@ -271,8 +269,9 @@ public async Task SetTimeoutWithStringAsFunction()
271269setTimeout('completed = true;', 0);
272270</script>
273271</body>" ;
274- var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) ) ;
275- await Task . Delay ( 100 ) ;
272+ var document = await BrowsingContext . New ( cfg ) . OpenAsync ( m => m . Content ( html ) )
273+ . WhenStable ( ) ;
274+
276275 var result = service . GetOrCreateJint ( document ) . GetValue ( "completed" ) . AsBoolean ( ) ;
277276 Assert . IsTrue ( result ) ;
278277 }
0 commit comments