9 use \Magento\Setup\Model\WebLogger;
16 private $directoryWriteMock;
21 private $filesystemMock;
37 $this->directoryWriteMock = $this->createMock(\
Magento\Framework\
Filesystem\Directory\Write::class);
38 $this->directoryWriteMock
39 ->expects($this->any())
42 ->will($this->returnCallback([\
Magento\
Setup\Test\Unit\Model\WebLoggerTest::class,
'readLog']));
43 $this->directoryWriteMock
44 ->expects($this->any())
47 ->will($this->returnCallback([\
Magento\
Setup\Test\Unit\Model\WebLoggerTest::class,
'writeToLog']));
48 $this->directoryWriteMock
49 ->expects($this->any())
51 ->will($this->returnCallback([\
Magento\
Setup\Test\Unit\Model\WebLoggerTest::class,
'isExist']));
53 $this->filesystemMock = $this->createMock(\
Magento\Framework\Filesystem::class);
55 ->expects($this->once())
56 ->method(
'getDirectoryWrite')
57 ->will($this->returnValue($this->directoryWriteMock));
59 $this->webLogger =
new WebLogger($this->filesystemMock);
64 $logFile =
'custom.log';
65 $directoryWriteMock = $this->createMock(\
Magento\Framework\
Filesystem\Directory\Write::class);
66 $directoryWriteMock->expects($this->once())->method(
'readFile')->with($logFile);
67 $directoryWriteMock->expects($this->once())->method(
'writeFile')->with($logFile);
69 $filesystemMock = $this->createMock(\
Magento\Framework\Filesystem::class);
71 ->expects($this->once())
72 ->method(
'getDirectoryWrite')
73 ->will($this->returnValue($directoryWriteMock));
75 $webLogger =
new WebLogger($filesystemMock, $logFile);
77 $webLogger->log(
'Message');
83 $this->webLogger->logSuccess(
'Success1');
84 $this->assertEquals(
'<span class="text-success">[SUCCESS] ' .
'Success1' .
'</span><br>', self::$log);
86 $this->webLogger->logSuccess(
'Success2');
88 '<span class="text-success">[SUCCESS] ' .
'Success1' .
'</span><br>' .
89 '<span class="text-success">[SUCCESS] ' .
'Success2' .
'</span><br>',
96 $e1 = new \Exception(
'Dummy Exception1');
97 $e2 = new \Exception(
'Dummy Exception2');
99 $this->webLogger->logError($e1);
100 $this->assertContains(
'[ERROR]', self::$log);
101 $this->assertContains(
'Exception', self::$log);
102 $this->assertContains($e1->getMessage(), self::$log);
104 $this->webLogger->logError($e2);
105 $this->assertContains(
'[ERROR]', self::$log);
106 $this->assertContains(
'Exception', self::$log);
107 $this->assertContains($e1->getMessage(), self::$log);
108 $this->assertContains($e2->getMessage(), self::$log);
113 $this->webLogger->log(
'Message1');
114 $this->assertEquals(
'<span class="text-info">Message1</span><br>', self::$log);
116 $this->webLogger->log(
'Message2');
118 '<span class="text-info">Message1</span><br><span class="text-info">Message2</span><br>',
125 $this->webLogger->logInline(
'*');
126 $this->webLogger->log(
'Message');
128 '<span class="text-info">*</span><br><span class="text-info">Message</span><br>',
135 $this->webLogger->logInline(
'*');
136 $this->assertEquals(
'<span class="text-info">*</span>', self::$log);
138 $this->webLogger->logInline(
'*');
139 $this->assertEquals(
'<span class="text-info">*</span><span class="text-info">*</span>', self::$log);
144 $this->webLogger->logMeta(
'Meta1');
145 $this->assertEquals(
'<span class="hidden">Meta1</span><br>', self::$log);
147 $this->webLogger->logMeta(
'Meta2');
148 $this->assertEquals(
'<span class="hidden">Meta1</span><br><span class="hidden">Meta2</span><br>', self::$log);
153 $this->webLogger->log(
'Message1' . PHP_EOL);
154 $this->webLogger->log(
'Message2');
157 '<span class="text-info">Message1',
158 '</span><br><span class="text-info">Message2</span><br>',
161 $this->assertEquals($expected, $this->webLogger->get());
166 $this->directoryWriteMock
167 ->expects($this->once())
169 ->will($this->returnCallback([\
Magento\
Setup\Test\Unit\Model\WebLoggerTest::class,
'deleteLog']));
171 $this->webLogger->log(
'Message1');
172 $this->assertEquals(
'<span class="text-info">Message1</span><br>', self::$log);
174 $this->webLogger->clear();
175 $this->assertEquals(
'', self::$log);
180 $this->directoryWriteMock
181 ->expects($this->never())
184 $this->webLogger->clear();
213 return self::$log !=
'';
testConstructorLogFileSpecified()
static writeToLog($logFile, $message)