‪TYPO3CMS  11.5
ContentObjectRendererTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Prophecy\PhpUnit\ProphecyTrait;
21 use Prophecy\Prophecy\ObjectProphecy;
22 use Psr\Http\Message\ServerRequestInterface;
29 use TYPO3\CMS\Core\Package\PackageManager;
37 use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
54 use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
55 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
56 
60 class ‪ContentObjectRendererTest extends UnitTestCase
61 {
62  use ProphecyTrait;
64 
68  protected ‪$resetSingletonInstances = true;
69 
73  private ‪$subject;
74 
79 
84 
90  private ‪$contentObjectMap = [
91  'TEXT' => TextContentObject::class,
92  'CASE' => CaseContentObject::class,
93  'COBJ_ARRAY' => ContentObjectArrayContentObject::class,
94  'COA' => ContentObjectArrayContentObject::class,
95  'COA_INT' => ContentObjectArrayInternalContentObject::class,
96  'USER' => UserContentObject::class,
97  'USER_INT' => UserInternalContentObject::class,
98  'FILES' => FilesContentObject::class,
99  'IMAGE' => ImageContentObject::class,
100  'IMG_RESOURCE' => ImageResourceContentObject::class,
101  'CONTENT' => ContentContentObject::class,
102  'RECORDS' => RecordsContentObject::class,
103  'HMENU' => HierarchicalMenuContentObject::class,
104  'CASEFUNC' => CaseContentObject::class,
105  'LOAD_REGISTER' => LoadRegisterContentObject::class,
106  'RESTORE_REGISTER' => RestoreRegisterContentObject::class,
107  'FLUIDTEMPLATE' => FluidTemplateContentObject::class,
108  'SVG' => ScalableVectorGraphicsContentObject::class,
109  'EDITPANEL' => EditPanelContentObject::class,
110  ];
111 
113  private ObjectProphecy ‪$cacheManager;
114 
115  protected ‪$backupEnvironment = true;
116 
120  protected function ‪setUp(): void
121  {
122  parent::setUp();
123 
124  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'secret-encryption-key-test';
125 
126  $site = $this->createSiteWithLanguage([
127  'base' => '/',
128  'languageId' => 2,
129  'locale' => 'en_UK',
130  'typo3Language' => 'default',
131  ]);
132 
133  ‪$GLOBALS['SIM_ACCESS_TIME'] = 1534278180;
134  $packageManagerMock = $this->getMockBuilder(PackageManager::class)
135  ->disableOriginalConstructor()
136  ->getMock();
137  $this->templateServiceMock =
138  $this->getMockBuilder(TemplateService::class)
139  ->setConstructorArgs([null, $packageManagerMock])
140  ->addMethods(['linkData'])
141  ->getMock();
142  $pageRepositoryMock =
143  $this->getAccessibleMock(PageRepository::class, ['getRawRecord', 'getMountPointInfo']);
144  $this->frontendControllerMock =
145  $this->getAccessibleMock(
146  TypoScriptFrontendController::class,
147  ['sL'],
148  [],
149  '',
150  false
151  );
152  $this->frontendControllerMock->_set('context', GeneralUtility::makeInstance(Context::class));
153  $this->frontendControllerMock->tmpl = ‪$this->templateServiceMock;
154  $this->frontendControllerMock->config = [];
155  $this->frontendControllerMock->page = [];
156  $this->frontendControllerMock->sys_page = $pageRepositoryMock;
157  $this->frontendControllerMock->_set('language', $site->getLanguageById(2));
159 
160  $this->cacheManager = $this->prophesize(CacheManager::class);
161  GeneralUtility::setSingletonInstance(CacheManager::class, $this->cacheManager->reveal());
162 
163  $this->subject = $this->getAccessibleMock(
164  ContentObjectRenderer::class,
165  ['getResourceFactory', 'getEnvironmentVariable'],
166  [$this->frontendControllerMock]
167  );
168 
169  $logger = $this->prophesize(Logger::class);
170  $this->subject->setLogger($logger->reveal());
171  $request = $this->prophesize(ServerRequestInterface::class);
172  $this->subject->setRequest($request->reveal());
173  $this->subject->setContentObjectClassMap($this->contentObjectMap);
174  $this->subject->start([], 'tt_content');
175  }
176 
177  protected function ‪tearDown(): void
178  {
179  unset(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']);
180  parent::tearDown();
181  }
182 
186  public function ‪_parseFuncReturnsCorrectHtmlDataProvider(): array
187  {
188  return [
189  'Text without tag is wrapped with <p> tag' => [
190  'Text without tag',
191  $this->getLibParseFunc_RTE(),
192  '<p class="bodytext">Text without tag</p>',
193  ],
194  'Text wrapped with <p> tag remains the same' => [
195  '<p class="myclass">Text with &lt;p&gt; tag</p>',
196  $this->getLibParseFunc_RTE(),
197  '<p class="myclass">Text with &lt;p&gt; tag</p>',
198  ],
199  'Text with absolute external link' => [
200  'Text with <link http://example.com/foo/>external link</link>',
201  $this->getLibParseFunc_RTE(),
202  '<p class="bodytext">Text with <a href="http://example.com/foo/">external link</a></p>',
203  ],
204  'Empty lines are not duplicated' => [
205  LF,
206  $this->getLibParseFunc_RTE(),
207  '<p class="bodytext">&nbsp;</p>',
208  ],
209  'Multiple empty lines with no text' => [
210  LF . LF . LF,
211  $this->getLibParseFunc_RTE(),
212  '<p class="bodytext">&nbsp;</p>' . LF . '<p class="bodytext">&nbsp;</p>' . LF . '<p class="bodytext">&nbsp;</p>',
213  ],
214  'Empty lines are not duplicated at the end of content' => [
215  'test' . LF . LF,
216  $this->getLibParseFunc_RTE(),
217  '<p class="bodytext">test</p>' . LF . '<p class="bodytext">&nbsp;</p>',
218  ],
219  'Empty lines are not trimmed' => [
220  LF . 'test' . LF,
221  $this->getLibParseFunc_RTE(),
222  '<p class="bodytext">&nbsp;</p>' . LF . '<p class="bodytext">test</p>' . LF . '<p class="bodytext">&nbsp;</p>',
223  ],
224  ];
225  }
226 
234  public function ‪stdWrap_parseFuncReturnsParsedHtml($value, $configuration, $expectedResult): void
235  {
236  self::assertEquals($expectedResult, $this->subject->stdWrap_parseFunc($value, $configuration));
237  }
238 
246  {
247  $defaultListItemParseFunc = [
248  'parseFunc' => '',
249  'parseFunc.' => [
250  'tags.' => [
251  'li' => 'TEXT',
252  'li.' => [
253  'wrap' => '<li>LI:|</li>',
254  'current' => '1',
255  ],
256  ],
257  ],
258  ];
259 
260  return [
261  'parent & child tags with same beginning are processed' => [
262  '<div><any data-skip><anyother data-skip>content</anyother></any></div>',
263  [
264  'parseFunc' => '',
265  'parseFunc.' => [
266  'tags.' => [
267  'any' => 'TEXT',
268  'any.' => [
269  'wrap' => '<any data-processed>|</any>',
270  'current' => 1,
271  ],
272  'anyother' => 'TEXT',
273  'anyother.' => [
274  'wrap' => '<anyother data-processed>|</anyother>',
275  'current' => 1,
276  ],
277  ],
278  'htmlSanitize' => true,
279  'htmlSanitize.' => [
280  'build' => TestSanitizerBuilder::class,
281  ],
282  ],
283  ],
284  '<div><any data-processed><anyother data-processed>content</anyother></any></div>',
285  ],
286  'list with empty and filled li' => [
287  '<ul>
288  <li></li>
289  <li>second</li>
290 </ul>',
291  $defaultListItemParseFunc,
292  '<ul>
293  <li>LI:</li>
294  <li>LI:second</li>
295 </ul>',
296  ],
297  'list with filled li wrapped by a div containing text' => [
298  '<div>text<ul><li></li><li>second</li></ul></div>',
299  $defaultListItemParseFunc,
300  '<div>text<ul><li>LI:</li><li>LI:second</li></ul></div>',
301  ],
302  'link list with empty li modification' => [
303  '<ul>
304  <li>
305  <ul>
306  <li></li>
307  </ul>
308  </li>
309 </ul>',
310  $defaultListItemParseFunc,
311  '<ul>
312  <li>LI:
313  <ul>
314  <li>LI:</li>
315  </ul>
316  </li>
317 </ul>',
318  ],
319 
320  'link list with li modifications' => [
321  '<ul>
322  <li>first</li>
323  <li>second
324  <ul>
325  <li>first sub</li>
326  <li>second sub</li>
327  </ul>
328  </li>
329 </ul>',
330  $defaultListItemParseFunc,
331  '<ul>
332  <li>LI:first</li>
333  <li>LI:second
334  <ul>
335  <li>LI:first sub</li>
336  <li>LI:second sub</li>
337  </ul>
338  </li>
339 </ul>',
340  ],
341  'link list with li modifications and no text' => [
342  '<ul>
343  <li>first</li>
344  <li>
345  <ul>
346  <li>first sub</li>
347  <li>second sub</li>
348  </ul>
349  </li>
350 </ul>',
351  $defaultListItemParseFunc,
352  '<ul>
353  <li>LI:first</li>
354  <li>LI:
355  <ul>
356  <li>LI:first sub</li>
357  <li>LI:second sub</li>
358  </ul>
359  </li>
360 </ul>',
361  ],
362  'link list with li modifications on third level' => [
363  '<ul>
364  <li>first</li>
365  <li>second
366  <ul>
367  <li>first sub
368  <ul>
369  <li>first sub sub</li>
370  <li>second sub sub</li>
371  </ul>
372  </li>
373  <li>second sub</li>
374  </ul>
375  </li>
376 </ul>',
377  $defaultListItemParseFunc,
378  '<ul>
379  <li>LI:first</li>
380  <li>LI:second
381  <ul>
382  <li>LI:first sub
383  <ul>
384  <li>LI:first sub sub</li>
385  <li>LI:second sub sub</li>
386  </ul>
387  </li>
388  <li>LI:second sub</li>
389  </ul>
390  </li>
391 </ul>',
392  ],
393  'link list with li modifications on third level no text' => [
394  '<ul>
395  <li>first</li>
396  <li>
397  <ul>
398  <li>
399  <ul>
400  <li>first sub sub</li>
401  <li>first sub sub</li>
402  </ul>
403  </li>
404  <li>second sub</li>
405  </ul>
406  </li>
407 </ul>',
408  $defaultListItemParseFunc,
409  '<ul>
410  <li>LI:first</li>
411  <li>LI:
412  <ul>
413  <li>LI:
414  <ul>
415  <li>LI:first sub sub</li>
416  <li>LI:first sub sub</li>
417  </ul>
418  </li>
419  <li>LI:second sub</li>
420  </ul>
421  </li>
422 </ul>',
423  ],
424  'link list with ul and li modifications' => [
425  '<ul>
426  <li>first</li>
427  <li>second
428  <ul>
429  <li>first sub</li>
430  <li>second sub</li>
431  </ul>
432  </li>
433 </ul>',
434  [
435  'parseFunc' => '',
436  'parseFunc.' => [
437  'tags.' => [
438  'ul' => 'TEXT',
439  'ul.' => [
440  'wrap' => '<ul><li>intro</li>|<li>outro</li></ul>',
441  'current' => '1',
442  ],
443  'li' => 'TEXT',
444  'li.' => [
445  'wrap' => '<li>LI:|</li>',
446  'current' => '1',
447  ],
448  ],
449  ],
450  ],
451  '<ul><li>intro</li>
452  <li>LI:first</li>
453  <li>LI:second
454  <ul><li>intro</li>
455  <li>LI:first sub</li>
456  <li>LI:second sub</li>
457  <li>outro</li></ul>
458  </li>
459 <li>outro</li></ul>',
460  ],
461 
462  'link list with li containing p tag and sub list' => [
463  '<ul>
464  <li>first</li>
465  <li>
466  <ul>
467  <li>
468  <span>
469  <ul>
470  <li>first sub sub</li>
471  <li>first sub sub</li>
472  </ul>
473  </span>
474  </li>
475  <li>second sub</li>
476  </ul>
477  </li>
478 </ul>',
479  $defaultListItemParseFunc,
480  '<ul>
481  <li>LI:first</li>
482  <li>LI:
483  <ul>
484  <li>LI:
485  <span>
486  <ul>
487  <li>LI:first sub sub</li>
488  <li>LI:first sub sub</li>
489  </ul>
490  </span>
491  </li>
492  <li>LI:second sub</li>
493  </ul>
494  </li>
495 </ul>',
496  ],
497  ];
498  }
499 
507  public function ‪parseFuncParsesNestedTagsProperly(string $value, array $configuration, string $expectedResult): void
508  {
509  self::assertEquals($expectedResult, $this->subject->stdWrap_parseFunc($value, $configuration));
510  }
511 
517  public function ‪stdWrap_editIconsDataProvider(): array
518  {
519  $content = ‪StringUtility::getUniqueId('content');
520  $editIcons = ‪StringUtility::getUniqueId('editIcons');
521  $editIconsArray = [‪StringUtility::getUniqueId('editIcons.')];
522  $will = ‪StringUtility::getUniqueId('will');
523  return [
524  'standard case calls edit icons' => [
525  $will,
526  $content,
527  ['editIcons' => $editIcons, 'editIcons.' => $editIconsArray],
528  true,
529  1,
530  $editIconsArray,
531  $will,
532  ],
533  'null in editIcons. repalaced by []' => [
534  $will,
535  $content,
536  ['editIcons' => $editIcons, 'editIcons.' => null],
537  true,
538  1,
539  [],
540  $will,
541  ],
542  'missing editIcons. replaced by []' => [
543  $will,
544  $content,
545  ['editIcons' => $editIcons],
546  true,
547  1,
548  [],
549  $will,
550  ],
551  'no user login disables call' => [
552  $content,
553  $content,
554  ['editIcons' => $editIcons, 'editIcons.' => $editIconsArray],
555  false,
556  0,
557  $editIconsArray,
558  $will,
559  ],
560  'empty string in editIcons disables call' => [
561  $content,
562  $content,
563  ['editIcons' => '', 'editIcons.' => $editIconsArray],
564  true,
565  0,
566  $editIconsArray,
567  $will,
568  ],
569  'zero string in editIcons disables call' => [
570  $content,
571  $content,
572  ['editIcons' => '0', 'editIcons.' => $editIconsArray],
573  true,
574  0,
575  $editIconsArray,
576  $will,
577  ],
578  ];
579  }
580 
607  public function ‪stdWrap_editIcons(
608  string $expect,
609  string $content,
610  array $conf,
611  bool $login,
612  int $times,
613  array $param3,
614  string $will
615  ): void {
616  if ($login) {
617  $backendUser = new ‪BackendUserAuthentication();
618  $backendUser->user['uid'] = 13;
619  GeneralUtility::makeInstance(Context::class)->setAspect('backend.user', new ‪UserAspect($backendUser));
620  } else {
621  GeneralUtility::makeInstance(Context::class)->setAspect('backend.user', new UserAspect());
622  }
623  ‪$subject = $this->getMockBuilder(ContentObjectRenderer::class)
624  ->onlyMethods(['editIcons'])->getMock();
626  ->expects(self::exactly($times))
627  ->method('editIcons')
628  ->with($content, $conf['editIcons'], $param3)
629  ->willReturn($will);
630  self::assertSame(
631  $expect,
632  ‪$subject->stdWrap_editIcons($content, $conf)
633  );
634  }
635 
641  public function ‪stdWrap_editPanelDataProvider(): array
642  {
643  $content = ‪StringUtility::getUniqueId('content');
644  $will = ‪StringUtility::getUniqueId('will');
645  return [
646  'standard case calls edit icons' => [
647  $will,
648  $content,
649  true,
650  1,
651  $will,
652  ],
653  'no user login disables call' => [
654  $content,
655  $content,
656  false,
657  0,
658  $will,
659  ],
660  ];
661  }
662 
684  public function ‪stdWrap_editPanel(
685  string $expect,
686  string $content,
687  bool $login,
688  int $times,
689  string $will
690  ): void {
691  if ($login) {
692  $backendUser = new ‪BackendUserAuthentication();
693  $backendUser->user['uid'] = 13;
694  GeneralUtility::makeInstance(Context::class)->setAspect('backend.user', new ‪UserAspect($backendUser));
695  } else {
696  GeneralUtility::makeInstance(Context::class)->setAspect('backend.user', new UserAspect());
697  }
698  $conf = ['editPanel.' => [‪StringUtility::getUniqueId('editPanel.')]];
699  ‪$subject = $this->getMockBuilder(ContentObjectRenderer::class)
700  ->onlyMethods(['editPanel'])->getMock();
702  ->expects(self::exactly($times))
703  ->method('editPanel')
704  ->with($content, $conf['editPanel.'])
705  ->willReturn($will);
706  self::assertSame(
707  $expect,
708  ‪$subject->stdWrap_editPanel($content, $conf)
709  );
710  }
711 }
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\stdWrap_editPanelDataProvider
‪array stdWrap_editPanelDataProvider()
Definition: ContentObjectRendererTest.php:635
‪TYPO3\CMS\Frontend\ContentObject\RestoreRegisterContentObject
Definition: RestoreRegisterContentObject.php:22
‪TYPO3\CMS\Frontend\ContentObject\ImageContentObject
Definition: ImageContentObject.php:28
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$cacheManager
‪ObjectProphecy $cacheManager
Definition: ContentObjectRendererTest.php:107
‪TYPO3\CMS\Frontend\Tests\Unit\ContentObject\Fixtures\TestSanitizerBuilder
Definition: TestSanitizerBuilder.php:24
‪TYPO3\CMS\Frontend\Tests\Unit\ContentObject\ContentObjectRendererTestTrait
Definition: ContentObjectRendererTestTrait.php:26
‪TYPO3\CMS\Frontend\ContentObject\HierarchicalMenuContentObject
Definition: HierarchicalMenuContentObject.php:26
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\tearDown
‪tearDown()
Definition: ContentObjectRendererTest.php:171
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$templateServiceMock
‪PHPUnit Framework MockObject MockObject TemplateService $templateServiceMock
Definition: ContentObjectRendererTest.php:78
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:53
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject
Definition: ContentObjectRendererTest.php:18
‪TYPO3\CMS\Frontend\ContentObject\UserInternalContentObject
Definition: UserInternalContentObject.php:22
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$backupEnvironment
‪$backupEnvironment
Definition: ContentObjectRendererTest.php:109
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$resetSingletonInstances
‪bool $resetSingletonInstances
Definition: ContentObjectRendererTest.php:66
‪TYPO3\CMS\Frontend\ContentObject\ScalableVectorGraphicsContentObject
Definition: ScalableVectorGraphicsContentObject.php:25
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\stdWrap_editPanel
‪stdWrap_editPanel(string $expect, string $content, bool $login, int $times, string $will)
Definition: ContentObjectRendererTest.php:678
‪TYPO3\CMS\Frontend\ContentObject\LoadRegisterContentObject
Definition: LoadRegisterContentObject.php:22
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\parseFuncParsesNestedTagsProperly
‪parseFuncParsesNestedTagsProperly(string $value, array $configuration, string $expectedResult)
Definition: ContentObjectRendererTest.php:501
‪TYPO3\CMS\Frontend\ContentObject\UserContentObject
Definition: UserContentObject.php:26
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\stdWrap_editIconsDataProvider
‪array stdWrap_editIconsDataProvider()
Definition: ContentObjectRendererTest.php:511
‪TYPO3\CMS\Core\Cache\CacheManager
Definition: CacheManager.php:36
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
Definition: BackendUserAuthentication.php:62
‪TYPO3\CMS\Frontend\ContentObject\ImageResourceContentObject
Definition: ImageResourceContentObject.php:22
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$subject
‪PHPUnit Framework MockObject MockObject AccessibleObjectInterface ContentObjectRenderer $subject
Definition: ContentObjectRendererTest.php:70
‪TYPO3\CMS\Frontend\ContentObject\EditPanelContentObject
Definition: EditPanelContentObject.php:23
‪TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayContentObject
Definition: ContentObjectArrayContentObject.php:26
‪TYPO3\CMS\Frontend\ContentObject\CaseContentObject
Definition: CaseContentObject.php:22
‪TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject
Definition: FluidTemplateContentObject.php:29
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\_parseFuncParsesNestedTagsProperlyDataProvider
‪array _parseFuncParsesNestedTagsProperlyDataProvider()
Definition: ContentObjectRendererTest.php:239
‪TYPO3\CMS\Core\TypoScript\TemplateService
Definition: TemplateService.php:46
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static string getUniqueId($prefix='')
Definition: StringUtility.php:128
‪TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController
Definition: TypoScriptFrontendController.php:104
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\_parseFuncReturnsCorrectHtmlDataProvider
‪array _parseFuncReturnsCorrectHtmlDataProvider()
Definition: ContentObjectRendererTest.php:180
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$frontendControllerMock
‪PHPUnit Framework MockObject MockObject TypoScriptFrontendController AccessibleObjectInterface $frontendControllerMock
Definition: ContentObjectRendererTest.php:74
‪TYPO3\CMS\Core\Log\Logger
Definition: Logger.php:27
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\setUp
‪setUp()
Definition: ContentObjectRendererTest.php:114
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest
Definition: ContentObjectRendererTest.php:61
‪TYPO3\CMS\Frontend\ContentObject\TextContentObject
Definition: TextContentObject.php:22
‪TYPO3\CMS\Core\Domain\Repository\PageRepository
Definition: PageRepository.php:53
‪TYPO3\CMS\Frontend\ContentObject\RecordsContentObject
Definition: RecordsContentObject.php:28
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\$contentObjectMap
‪array $contentObjectMap
Definition: ContentObjectRendererTest.php:84
‪TYPO3\CMS\Frontend\ContentObject\FilesContentObject
Definition: FilesContentObject.php:27
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\stdWrap_editIcons
‪stdWrap_editIcons(string $expect, string $content, array $conf, bool $login, int $times, array $param3, string $will)
Definition: ContentObjectRendererTest.php:601
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:22
‪TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayInternalContentObject
Definition: ContentObjectArrayInternalContentObject.php:26
‪TYPO3\CMS\Core\Context\UserAspect
Definition: UserAspect.php:37
‪TYPO3\CMS\Frontend\ContentObject\ContentContentObject
Definition: ContentContentObject.php:25
‪TYPO3\CMS\Frontend\Tests\UnitDeprecated\ContentObject\ContentObjectRendererTest\stdWrap_parseFuncReturnsParsedHtml
‪stdWrap_parseFuncReturnsParsedHtml($value, $configuration, $expectedResult)
Definition: ContentObjectRendererTest.php:228