[TASK] Export binary data from sys_file records
[Packages/TYPO3.CMS.git] / typo3 / sysext / impexp / Tests / Functional / Export / AbstractExportTestCase.php
1 <?php
2 namespace TYPO3\CMS\Impexp\Tests\Functional\Export;
3
4 /***************************************************************
5 * Copyright notice
6 *
7 * (c) 2014 Marc Bastian Heinrichs <typo3@mbh-software.de>
8 * All rights reserved
9 *
10 * This script is part of the TYPO3 project. The TYPO3 project is
11 * free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * The GNU General Public License can be found at
17 * http://www.gnu.org/copyleft/gpl.html.
18 *
19 * This script is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * This copyright notice MUST APPEAR in all copies of the script!
25 ***************************************************************/
26
27 use TYPO3\CMS\Core\Utility\GeneralUtility;
28
29 /**
30 * Functional test for the ImportExport
31 */
32 abstract class AbstractExportTestCase extends \TYPO3\CMS\Core\Tests\FunctionalTestCase {
33
34 /**
35 * @var array
36 */
37 protected $coreExtensionsToLoad = array('impexp');
38
39 /**
40 * @var \TYPO3\CMS\Impexp\ImportExport
41 */
42 protected $export;
43
44 /**
45 * Set up for set up the backend user, initialize the language object
46 * and creating the ImportExport instance
47 *
48 * @return void
49 */
50 public function setUp() {
51 parent::setUp();
52
53 $this->setUpBackendUserFromFixture(1);
54 // Needed to avoid PHP Warnings
55 $GLOBALS['TBE_STYLES']['spriteIconApi']['iconsAvailable'] = array();
56
57 \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeLanguageObject();
58
59 $this->export = GeneralUtility::makeInstance('TYPO3\\CMS\\Impexp\\ImportExport');
60 $this->export->init(0, 'export');
61 }
62
63 /**
64 * Builds a flat array containing the page tree with the PageTreeView
65 * based on given start pid and depth and set it in the ImportExport object.
66 *
67 * @param int $pidToStart
68 * @param int $depth
69 * @return void
70 */
71 protected function setPageTree($pidToStart, $depth = 1) {
72
73 $permsClause = $GLOBALS['BE_USER']->getPagePermsClause(1);
74
75 /** @var $tree \TYPO3\CMS\Backend\Tree\View\PageTreeView */
76 $tree = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Tree\\View\\PageTreeView');
77 $tree->init('AND ' . $permsClause);
78 $tree->tree[] = array('row' => $pidToStart);
79 $tree->buffer_idH = array();
80 $tree->getTree($pidToStart, $depth, '');
81
82 $idH[$pidToStart]['uid'] = $pidToStart;
83 if (count($tree->buffer_idH)) {
84 $idH[$pidToStart]['subrow'] = $tree->buffer_idH;
85 }
86
87 $this->export->setPageTree($idH);
88 }
89 }