]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / monolog / monolog / tests / Monolog / Handler / ErrorLogHandlerTest.php
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php
new file mode 100644 (file)
index 0000000..99785cb
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+
+/*
+ * This file is part of the Monolog package.
+ *
+ * (c) Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Monolog\Handler;
+
+use Monolog\TestCase;
+use Monolog\Logger;
+use Monolog\Formatter\LineFormatter;
+
+function error_log()
+{
+    $GLOBALS['error_log'][] = func_get_args();
+}
+
+class ErrorLogHandlerTest extends TestCase
+{
+    protected function setUp()
+    {
+        $GLOBALS['error_log'] = array();
+    }
+
+    /**
+     * @covers Monolog\Handler\ErrorLogHandler::__construct
+     * @expectedException InvalidArgumentException
+     * @expectedExceptionMessage The given message type "42" is not supported
+     */
+    public function testShouldNotAcceptAnInvalidTypeOnContructor()
+    {
+        new ErrorLogHandler(42);
+    }
+
+    /**
+     * @covers Monolog\Handler\ErrorLogHandler::write
+     */
+    public function testShouldLogMessagesUsingErrorLogFuncion()
+    {
+        $type = ErrorLogHandler::OPERATING_SYSTEM;
+        $handler = new ErrorLogHandler($type);
+        $handler->setFormatter(new LineFormatter('%channel%.%level_name%: %message% %context% %extra%', null, true));
+        $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz"));
+
+        $this->assertSame("test.ERROR: Foo\nBar\r\n\r\nBaz [] []", $GLOBALS['error_log'][0][0]);
+        $this->assertSame($GLOBALS['error_log'][0][1], $type);
+
+        $handler = new ErrorLogHandler($type, Logger::DEBUG, true, true);
+        $handler->setFormatter(new LineFormatter(null, null, true));
+        $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz"));
+
+        $this->assertStringMatchesFormat('[%s] test.ERROR: Foo', $GLOBALS['error_log'][1][0]);
+        $this->assertSame($GLOBALS['error_log'][1][1], $type);
+
+        $this->assertStringMatchesFormat('Bar', $GLOBALS['error_log'][2][0]);
+        $this->assertSame($GLOBALS['error_log'][2][1], $type);
+
+        $this->assertStringMatchesFormat('Baz [] []', $GLOBALS['error_log'][3][0]);
+        $this->assertSame($GLOBALS['error_log'][3][1], $type);
+    }
+}