1
+ <?php
2
+
3
+ /**
4
+ * MIT License
5
+ *
6
+ * Copyright (c) 2018 Samuel CHEMLA
7
+ *
8
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ * of this software and associated documentation files (the "Software"), to deal
10
+ * in the Software without restriction, including without limitation the rights
11
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the Software is
13
+ * furnished to do so, subject to the following conditions:
14
+ *
15
+ * The above copyright notice and this permission notice shall be included in all
16
+ * copies or substantial portions of the Software.
17
+ *
18
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ * SOFTWARE.
25
+ */
26
+
27
+ namespace PhpBg \MiniHttpd \Tests \Logger ;
28
+
29
+ use PhpBg \MiniHttpd \Logger \Console ;
30
+ use PHPUnit \Framework \TestCase ;
31
+ use Psr \Log \LogLevel ;
32
+
33
+ class ConsoleTest extends TestCase
34
+ {
35
+ public function testLogException () {
36
+ $ output = fopen ('php://memory ' , 'w+ ' );
37
+ $ logger = new Console (LogLevel::DEBUG , $ output );
38
+
39
+ $ logger ->error ("foo " , ['exception ' => new \Exception ("bar " )]);
40
+
41
+ rewind ($ output );
42
+ $ this ->assertNotEmpty (stream_get_contents ($ output ));
43
+ }
44
+
45
+ public function testLogExceptionWithPrevious () {
46
+ $ output = fopen ('php://memory ' , 'w+ ' );
47
+ $ logger = new Console (LogLevel::DEBUG , $ output );
48
+
49
+ $ logger ->error ("foo " , ['exception ' => new \Exception ("bar " , 0 , new \Exception ("baz " ))]);
50
+
51
+ rewind ($ output );
52
+ $ this ->assertNotEmpty (stream_get_contents ($ output ));
53
+ }
54
+
55
+ public function testLogError () {
56
+ $ output = fopen ('php://memory ' , 'w+ ' );
57
+ $ logger = new Console (LogLevel::DEBUG , $ output );
58
+
59
+ $ logger ->error ("foo " , ['exception ' => new \Error ("bar " )]);
60
+
61
+ rewind ($ output );
62
+ $ this ->assertNotEmpty (stream_get_contents ($ output ));
63
+ }
64
+
65
+ }
0 commit comments