From d7b875f8737d82d770c09f8726bcfad75da6dab8 Mon Sep 17 00:00:00 2001
From: Elmar Hinz <t3elmar@gmail.com>
Date: Thu, 9 Jun 2016 13:05:31 +0200
Subject: [PATCH] [TASK] Add unit test to cover stdWrap_wrap3

Resolves: #76552
Releases: master
Change-Id: Idbe065397ae71c6e4ce4e8440fea9d87bf3501d2
Reviewed-on: https://review.typo3.org/48535
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
---
 .../ContentObjectRendererTest.php             | 68 ++++++++++++++++++-
 1 file changed, 66 insertions(+), 2 deletions(-)

diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
index d3f84000e76b..8ee7fcab38b7 100755
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
@@ -2879,8 +2879,72 @@ class ContentObjectRendererTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
      */
     public function stdWrap_wrap2($expected, $input, $conf)
     {
-        $this->assertSame($expected,
-            $this->subject->stdWrap_wrap2($input, $conf));
+        $this->assertSame($expected, $this->subject->stdWrap_wrap2($input, $conf));
+    }
+
+
+    /**
+     * Data provider for stdWrap_wrap3
+     *
+     * @return array Order expected, input, conf
+     */
+    public function stdWrap_wrap3DataProvider()
+    {
+        return [
+            'no conf' => [
+                'XXX',
+                'XXX',
+                [],
+            ],
+            'simple' => [
+                '<wrapper>XXX</wrapper>',
+                'XXX',
+                ['wrap3' => '<wrapper>|</wrapper>'],
+            ],
+            'trimms whitespace' => [
+                '<wrapper>XXX</wrapper>',
+                'XXX',
+                ['wrap3' => '<wrapper>' . TAB . ' | ' . TAB . '</wrapper>'],
+            ],
+            'missing pipe puts wrap3 before' => [
+                '<pre>XXX',
+                'XXX',
+                [
+                    'wrap3' => '<pre>',
+                ],
+            ],
+            'split char change' => [
+                '<wrapper>XXX</wrapper>',
+                'XXX',
+                [
+                    'wrap3' => '<wrapper> # </wrapper>',
+                    'wrap3.' => ['splitChar' => '#'],
+                ],
+            ],
+            'split by pattern' => [
+                '<wrapper>XXX</wrapper>',
+                'XXX',
+                [
+                    'wrap3' => '<wrapper> ###splitter### </wrapper>',
+                    'wrap3.' => ['splitChar' => '###splitter###'],
+                ],
+            ],
+        ];
+    }
+
+    /**
+     * Check if stdWrap_wrap3 works properly.
+     *
+     * @param string $expected The expected value.
+     * @param string $input The input value.
+     * @param array $conf Properties: wrap3, wrap3.splitChar
+     * @return void
+     * @test
+     * @dataProvider stdWrap_wrap3DataProvider
+     */
+    public function stdWrap_wrap3($expected, $input, $conf)
+    {
+        $this->assertSame($expected, $this->subject->stdWrap_wrap3($input, $conf));
     }
 
     /**
-- 
GitLab