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