@@ -19,6 +19,21 @@ public function testConstructor()
1919 $ buffer ->on ('error ' , $ this ->expectCallableNever ());
2020 }
2121
22+ /**
23+ * @covers React\Stream\WritableResourceStream::__construct
24+ */
25+ public function testConstructorWithExcessiveMode ()
26+ {
27+ // excessive flags are ignored for temp streams, so we have to use a file stream
28+ $ name = tempnam (sys_get_temp_dir (), 'test ' );
29+ $ stream = @fopen ($ name , 'w+eANYTHING ' );
30+ unlink ($ name );
31+
32+ $ loop = $ this ->createLoopMock ();
33+ $ buffer = new WritableResourceStream ($ stream , $ loop );
34+ $ buffer ->close ();
35+ }
36+
2237 /**
2338 * @covers React\Stream\WritableResourceStream::__construct
2439 * @expectedException InvalidArgumentException
@@ -43,6 +58,21 @@ public function testConstructorThrowsExceptionOnReadOnlyStream()
4358 new WritableResourceStream ($ stream , $ loop );
4459 }
4560
61+ /**
62+ * @covers React\Stream\WritableResourceStream::__construct
63+ * @expectedException InvalidArgumentException
64+ */
65+ public function testConstructorThrowsExceptionOnReadOnlyStreamWithExcessiveMode ()
66+ {
67+ // excessive flags are ignored for temp streams, so we have to use a file stream
68+ $ name = tempnam (sys_get_temp_dir (), 'test ' );
69+ $ stream = fopen ($ name , 'reANYTHING ' );
70+ unlink ($ name );
71+
72+ $ loop = $ this ->createLoopMock ();
73+ new WritableResourceStream ($ stream , $ loop );
74+ }
75+
4676 /**
4777 * @covers React\Stream\WritableResourceStream::__construct
4878 */
0 commit comments