--- /dev/null
+<?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\Processor;
+
+use Monolog\TestCase;
+
+class TagProcessorTest extends TestCase
+{
+ /**
+ * @covers Monolog\Processor\TagProcessor::__invoke
+ */
+ public function testProcessor()
+ {
+ $tags = array(1, 2, 3);
+ $processor = new TagProcessor($tags);
+ $record = $processor($this->getRecord());
+
+ $this->assertEquals($tags, $record['extra']['tags']);
+ }
+
+ /**
+ * @covers Monolog\Processor\TagProcessor::__invoke
+ */
+ public function testProcessorTagModification()
+ {
+ $tags = array(1, 2, 3);
+ $processor = new TagProcessor($tags);
+
+ $record = $processor($this->getRecord());
+ $this->assertEquals($tags, $record['extra']['tags']);
+
+ $processor->setTags(array('a', 'b'));
+ $record = $processor($this->getRecord());
+ $this->assertEquals(array('a', 'b'), $record['extra']['tags']);
+
+ $processor->addTags(array('a', 'c', 'foo' => 'bar'));
+ $record = $processor($this->getRecord());
+ $this->assertEquals(array('a', 'b', 'a', 'c', 'foo' => 'bar'), $record['extra']['tags']);
+ }
+}