[TASK] Export binary data from sys_file records
[Packages/TYPO3.CMS.git] / typo3 / sysext / impexp / Tests / Functional / Export / PagesAndTtContent / ExportTest.php
1 <?php
2 namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContent;
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\Backend\Utility\BackendUtility;
28
29 require_once __DIR__ . '/../AbstractExportTestCase.php';
30
31 /**
32 * Functional test for the ImportExport
33 */
34 class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase {
35
36 public function setUp() {
37 parent::setUp();
38
39 $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml');
40 $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content.xml');
41 }
42
43 /**
44 * @test
45 */
46 public function exportSimplePagesAndRelatedTtContent() {
47
48 $this->export->setRecordTypesIncludeFields(
49 array(
50 'pages' => array(
51 'title',
52 'deleted',
53 'doktype',
54 'hidden',
55 'perms_everybody'
56 ),
57 'tt_content' => array(
58 'CType',
59 'header',
60 'deleted',
61 'hidden',
62 't3ver_oid'
63 )
64 )
65 );
66
67 $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1));
68 $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2));
69 $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1));
70
71 $this->setPageTree(1, 1);
72
73 // After adding ALL records we set relations:
74 for ($a = 0; $a < 10; $a++) {
75 $addR = $this->export->export_addDBRelations($a);
76 if (!count($addR)) {
77 break;
78 }
79 }
80
81 $this->export->export_addFilesFromRelations();
82
83 $out = $this->export->compileMemoryToFileContent('xml');
84
85 $this->assertXmlStringEqualsXmlFile(__DIR__ . '/../../Fixtures/ImportExport/pages-and-ttcontent.xml', $out);
86 }
87
88 }