@@ -304,4 +304,60 @@ public function testNestedPausing()
304304    }//end testNestedPausing() 
305305
306306
307+     /** 
308+      * Verify that resuming more often than the StatusWriter is paused, won't block future pauses. 
309+      * 
310+      * @return void 
311+      */ 
312+     public  function  testResumingMoreOftenThanPaused ()
313+     {
314+         $ this expectNoStdoutOutput ();
315+ 
316+         $ messageA'This message should not be printed when the StatusWriter is paused ' ;
317+         $ messageB'Once the StatusWriter is resumed, messages should be printed again ' ;
318+         $ expected$ messageBPHP_EOL .$ messageBPHP_EOL ;
319+ 
320+         $ this assertFalse (StatusWriter::isPaused ());
321+ 
322+         // Pause 1. 
323+         StatusWriter::pause ();
324+         $ this assertTrue (StatusWriter::isPaused ());
325+ 
326+         StatusWriter::write ($ messageA
327+ 
328+         // Pause 2. 
329+         StatusWriter::pause ();
330+         $ this assertTrue (StatusWriter::isPaused ());
331+ 
332+         StatusWriter::write ($ messageA
333+ 
334+         // Resume 2. 
335+         StatusWriter::resume ();
336+         $ this assertTrue (StatusWriter::isPaused ());
337+ 
338+         StatusWriter::write ($ messageA
339+ 
340+         // Resume 1. 
341+         StatusWriter::resume ();
342+         $ this assertFalse (StatusWriter::isPaused ());
343+ 
344+         StatusWriter::write ($ messageB
345+ 
346+         // Resume too much - this resume should not change the pause counter. 
347+         StatusWriter::resume ();
348+         $ this assertFalse (StatusWriter::isPaused ());
349+ 
350+         StatusWriter::write ($ messageB
351+ 
352+         // Pause after "resume too much", still pauses the StatusWriter. 
353+         StatusWriter::pause ();
354+         $ this assertTrue (StatusWriter::isPaused ());
355+ 
356+         StatusWriter::write ($ messageA
357+ 
358+         $ this assertStderrOutputSameString ($ expected
359+ 
360+     }//end testResumingMoreOftenThanPaused() 
361+ 
362+ 
307363}//end class 
0 commit comments