@@ -35,6 +35,9 @@ public function testHandle(array $record, Breadcrumb $expectedBreadcrumb): void
35
35
$ handler ->handle ($ record );
36
36
}
37
37
38
+ /**
39
+ * @return iterable<array{array<string, mixed>, Breadcrumb}>
40
+ */
38
41
public function handleDataProvider (): iterable
39
42
{
40
43
$ defaultData = [
@@ -56,9 +59,50 @@ public function handleDataProvider(): iterable
56
59
$ defaultData ['datetime ' ]->getTimestamp ()
57
60
);
58
61
59
- yield [
60
- $ defaultData ,
61
- $ defaultBreadcrumb ,
62
+ $ levelsToBeTested = [
63
+ Logger::DEBUG => Breadcrumb::LEVEL_DEBUG ,
64
+ Logger::INFO => Breadcrumb::LEVEL_INFO ,
65
+ Logger::NOTICE => Breadcrumb::LEVEL_INFO ,
66
+ Logger::WARNING => Breadcrumb::LEVEL_WARNING ,
67
+ ];
68
+
69
+ foreach ($ levelsToBeTested as $ loggerLevel => $ breadcrumbLevel ) {
70
+ yield 'with level ' . Logger::getLevelName ($ loggerLevel ) => [
71
+ ['level ' => $ loggerLevel ] + $ defaultData ,
72
+ $ defaultBreadcrumb ->withLevel ($ breadcrumbLevel ),
73
+ ];
74
+ }
75
+
76
+ yield 'with level ERROR ' => [
77
+ ['level ' => Logger::ERROR ] + $ defaultData ,
78
+ $ defaultBreadcrumb ->withLevel (Breadcrumb::LEVEL_ERROR )
79
+ ->withType (Breadcrumb::TYPE_ERROR ),
80
+ ];
81
+
82
+ yield 'with level ALERT ' => [
83
+ ['level ' => Logger::ALERT ] + $ defaultData ,
84
+ $ defaultBreadcrumb ->withLevel (Breadcrumb::LEVEL_FATAL )
85
+ ->withType (Breadcrumb::TYPE_ERROR ),
86
+ ];
87
+
88
+ yield 'with context ' => [
89
+ ['context ' => ['foo ' => 'bar ' ]] + $ defaultData ,
90
+ $ defaultBreadcrumb ->withMetadata ('foo ' , 'bar ' ),
91
+ ];
92
+
93
+ yield 'with extra ' => [
94
+ ['extra ' => ['foo ' => 'bar ' ]] + $ defaultData ,
95
+ $ defaultBreadcrumb ->withMetadata ('foo ' , 'bar ' ),
96
+ ];
97
+
98
+ yield 'with context + extra ' => [
99
+ [
100
+ 'context ' => ['foo ' => 'bar ' , 'context ' => 'baz ' ],
101
+ 'extra ' => ['foo ' => 'baz ' , 'extra ' => 'baz ' ],
102
+ ] + $ defaultData ,
103
+ $ defaultBreadcrumb ->withMetadata ('foo ' , 'bar ' )
104
+ ->withMetadata ('context ' , 'baz ' )
105
+ ->withMetadata ('extra ' , 'baz ' ),
62
106
];
63
107
}
64
108
}
0 commit comments