Source of file SolrReindexTest_RecordingLogger.php
Size: 1,783 Bytes - Last Modified: 2021-12-23T10:31:32+00:00
/var/www/docs.ssmods.com/process/src/tests/SolrReindexTest/SolrReindexTest_RecordingLogger.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | <?php namespace SilverStripe\FullTextSearch\Tests\SolrReindexTest; use Monolog\Logger; use SilverStripe\Dev\TestOnly; use SilverStripe\FullTextSearch\Tests\SolrReindexTest\SolrReindexTest_Handler; /** * Test logger for recording messages */ class SolrReindexTest_RecordingLogger extends Logger implements TestOnly { /** * @var SolrReindexTest_Handler */ protected $testHandler = null; public function __construct($name = 'testlogger', array $handlers = array(), array $processors = array()) { parent::__construct($name, $handlers, $processors); $this->testHandler = new SolrReindexTest_Handler(); $this->pushHandler($this->testHandler); } /** * @return array */ public function getMessages() { return $this->testHandler->getMessages(); } /** * Clear all messages */ public function clear() { $this->testHandler->clear(); } /** * Get messages with the given filter * * @param string $containing * @return array Filtered array */ public function filterMessages($containing) { return array_values(array_filter( $this->getMessages(), function ($content) use ($containing) { return stripos($content, $containing) !== false; } )); } /** * Count all messages containing the given substring * * @param string $containing Message to filter by * @return int */ public function countMessages($containing = null) { if ($containing) { $messages = $this->filterMessages($containing); } else { $messages = $this->getMessages(); } return count($messages); } } |