@@ -27,10 +27,68 @@ public function testRotationProcessorWithGzProcessor(): void
2727 $ this ->assertEquals (self ::DIR_WORK .'file.log.1.gz ' , $ fileRotated );
2828 })->rotate (self ::DIR_WORK .'file.log ' );
2929
30- // $this->assertStringEqualsFile(self::DIR_WORK.'file.log', '');
31-
3230 $ this ->assertFileExists (self ::DIR_WORK .'file.log.1.gz ' );
3331
3432 $ this ->assertEquals ($ content , implode ('' , (array )gzfile (self ::DIR_WORK .'file.log.1.gz ' )));
3533 }
34+
35+ public function testRotationProcessorWithGzProcessorWithLevel (): void
36+ {
37+ $ rotation = new Rotation ();
38+
39+ $ rotation ->compress ();
40+
41+ $ content = bin2hex ('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
42+ Aenean commodo ligula eget dolor. Aenean massa. Cum sociis
43+ ffffffffffffffff
44+ natoque penatibus et magnis dis parturient montes, nascetur
45+ hhhhhhhhhhhhhhhh
46+ ridiculus mus. Donec quam felis, ultricies nec, pellentesque
47+ ffffffhhhhhggggx x
48+ eu, pretium quis, sem. Nulla consequat massa quis enim.
49+ Donec pede justo, fringilla vel, aliquet nec, vulputate
50+ eget, arcu. ' );
51+
52+ $ content .= $ content ;
53+
54+
55+ file_put_contents (self ::DIR_WORK .'file.log ' , $ content );
56+ $ rotation ->rotate (self ::DIR_WORK .'file.log ' );
57+ $ sizeDefaultLevel = filesize (self ::DIR_WORK .'file.log.1.gz ' );
58+
59+ file_put_contents (self ::DIR_WORK .'file.log ' , $ content );
60+ $ rotation ->compress (1 )->rotate (self ::DIR_WORK .'file.log ' );
61+ $ sizeMinLevel = filesize (self ::DIR_WORK .'file.log.1.gz ' );
62+
63+ file_put_contents (self ::DIR_WORK .'file.log ' , $ content );
64+ $ rotation ->compress (9 )->rotate (self ::DIR_WORK .'file.log ' );
65+ $ sizeMaxLevel = filesize (self ::DIR_WORK .'file.log.1.gz ' );
66+
67+ $ this ->assertLessThan ($ sizeMinLevel , $ sizeDefaultLevel );
68+ $ this ->assertGreaterThan ($ sizeMaxLevel , $ sizeDefaultLevel );
69+ }
70+
71+ public function testRotationProcessorWithoutGzProcessorIfLevelIsZero (): void
72+ {
73+ $ rotation = new Rotation ();
74+
75+ $ rotation ->compress (0 );
76+
77+ $ content = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
78+ Aenean commodo ligula eget dolor. Aenean massa. Cum sociis
79+ natoque penatibus et magnis dis parturient montes, nascetur
80+ ridiculus mus. Donec quam felis, ultricies nec, pellentesque
81+ eu, pretium quis, sem. Nulla consequat massa quis enim.
82+ Donec pede justo, fringilla vel, aliquet nec, vulputate
83+ eget, arcu. ' ;
84+
85+ file_put_contents (self ::DIR_WORK .'file.log ' , $ content );
86+
87+ $ rotation ->rotate (self ::DIR_WORK .'file.log ' );
88+
89+ $ this ->assertFileExists (self ::DIR_WORK .'file.log.1 ' );
90+ $ this ->assertFileDoesNotExist (self ::DIR_WORK .'file.log.1.gz ' );
91+
92+ $ this ->assertEquals ($ content , file_get_contents (self ::DIR_WORK .'file.log.1 ' ));
93+ }
3694}
0 commit comments