From e3abb72e38e35081581202bcda8785cd813174b7 Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Wed, 31 May 2017 17:18:15 +0200 Subject: [PATCH] [TASK] Refactor ext:impexp functional tests The ext:impexp functional tests are rather hard to read and follow. The patch untangles them to make them better maintainable: * Combine the two different import / export abstract classes into 1 class * Don't inherit from AbstractDataHandlerActionTestCase anymore * Give single test cases better file names and do not hide them in sub dirs * Move all fixtures to Fixtures/ dir * Use less helper methods to import and test things * File paths are more straight and with less helper magic Change-Id: Iae36771b94045f99444f394129cbcf183168b584 Resolves: #81393 Releases: master, 8.7 Reviewed-on: https://review.typo3.org/52980 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Mona Muzaffar <mona.muzaffar@gmx.de> Tested-by: Mona Muzaffar <mona.muzaffar@gmx.de> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- ...e.php => AbstractImportExportTestCase.php} | 91 +- ...ileAndFileReferenceItemInFlexFormTest.php} | 40 +- ... => GroupFileAndFileReferenceItemTest.php} | 68 +- ...rtTest.php => IrreTutorialRecordsTest.php} | 39 +- ...portTest.php => PagesAndTtContentTest.php} | 44 +- ...hp => PagesAndTtContentWithImagesTest.php} | 93 +- .../tt_content-with-rte-image-n-file-link.xml | 13 - .../importGroupFileAndFileReferenceItem.csv | 0 ...roupFileAndFileReferenceItemInFlexForm.csv | 0 ...erenceItemWithRootLevelAndPagesAllowed.csv | 0 ...leReferenceItemWithRootLevelNotAllowed.csv | 0 ...eReferenceItemWithRootLevelOnlyAllowed.csv | 0 .../DatabaseAssertions}/importIrreRecords.csv | 0 .../importPagesAndRelatedTtContent.csv | 0 ...ontentWithDifferentImageToExistingData.csv | 0 ...elatedTtContentWithImageWithForcedUids.csv | 0 ...latedTtContentWithImagesButNotIncluded.csv | 0 ...outStorageOnCaseInsensitiveFilesystems.csv | 0 ...thoutStorageOnCaseSensitiveFilesystems.csv | 0 ...WithImagesOnCaseInsensitiveFilesystems.csv | 0 ...ntWithImagesOnCaseSensitiveFilesystems.csv | 0 ...tedTtContentWithImagesWithSpacesInPath.csv | 0 ...latedTtContentWithRteImagesAndFileLink.csv | 0 ...edTtContentWithSameImageToExistingData.csv | 0 .../irre_tutorial.xml | 0 .../{Database => DatabaseImports}/pages.xml | 0 .../sys_file-export-pages-and-tt-content.xml} | 0 .../sys_file.xml | 0 .../sys_file_corrupt.xml | 0 .../sys_file_metadata.xml | 0 .../sys_file_reference.xml | 0 .../sys_file_storage.xml | 0 .../sys_language.xml | 0 .../tt_content-with-image.xml | 0 .../tt_content.xml | 0 .../tx_impexpgroupfiles_item.xml | 0 .../FileAssertions}/typo3_image2_01.jpg | Bin .../c3511df85d21bc578faf71c6a19eeb3ff44af370 | Bin 7425 -> 0 bytes .../e1c5c4e1e34e19e2facb438752e06c3f | Bin 6758 -> 0 bytes .../c3511df85d21bc578faf71c6a19eeb3ff44af370 | Bin 7425 -> 0 bytes .../e1c5c4e1e34e19e2facb438752e06c3f | Bin 6758 -> 0 bytes .../da9acdf1e105784a57bbffec9520969578287797 | Bin 7958 -> 0 bytes ...reference-item-but-images-not-included.xml | 0 ...oup-file-and-file_reference-item-in-ff.xml | 0 ...exp-group-file-and-file_reference-item.xml | 0 .../mysql}/irre-records.xml | 0 ...pages-and-ttcontent-with-corrupt-image.xml | 0 ...-ttcontent-with-image-but-not-included.xml | 0 .../mysql}/pages-and-ttcontent-with-image.xml | 0 .../mysql}/pages-and-ttcontent.xml | 0 ...reference-item-but-images-not-included.xml | 0 ...oup-file-and-file_reference-item-in-ff.xml | 0 ...exp-group-file-and-file_reference-item.xml | 0 .../postgresql}/irre-records.xml | 0 ...pages-and-ttcontent-with-corrupt-image.xml | 0 ...-ttcontent-with-image-but-not-included.xml | 0 .../pages-and-ttcontent-with-image.xml | 0 .../postgresql}/pages-and-ttcontent.xml | 0 ...reference-item-but-images-not-included.xml | 236 +++ ...oup-file-and-file_reference-item-in-ff.xml | 700 ++++++ ...le-and-file_reference-item-on-pid-zero.xml | 0 ...exp-group-file-and-file_reference-item.xml | 490 +++++ .../Fixtures/XmlImports/irre-records.xml | 1884 +++++++++++++++++ ...tcontent-with-existing-different-image.xml | 0 ...and-ttcontent-with-existing-same-image.xml | 0 ...-ttcontent-with-image-but-not-included.xml | 463 ++++ .../da9acdf1e105784a57bbffec9520969578287797 | Bin ...-ttcontent-with-image-with-forced-uids.xml | 0 ...content-with-image-with-spaces-in-path.xml | 0 ...d-ttcontent-with-image-without-storage.xml | 0 .../pages-and-ttcontent-with-image.xml} | 761 +++---- ...d-ttcontent-with-rte-image-n-file-link.xml | 0 .../XmlImports/pages-and-ttcontent.xml | 393 ++++ .../Import/AbstractImportTestCase.php | 91 - .../ImportInEmptyDatabaseTest.php | 148 -- .../ImportInEmptyDatabaseTest.php | 61 - ...FileAndFileReferenceItemInFlexFormTest.php | 64 + .../GroupFileAndFileReferenceItemTest.php | 165 ++ .../ImportInEmptyDatabaseTest.php | 40 - .../Import/IrreTutorialRecordsTest.php | 49 + .../ImportInEmptyDatabaseTest.php | 45 - .../Import/PagesAndTtContentTest.php | 47 + .../ImportInEmptyDatabaseTest.php | 165 -- .../ImportInFilledDatabaseTest.php | 88 - ...TtContentWithImagesInEmptyDatabaseTest.php | 202 ++ ...tContentWithImagesInFilledDatabaseTest.php | 99 + .../ImportInEmptyDatabaseTest.php | 54 - ...dTtContentWithRteImagesAndFileLinkTest.php | 57 + 88 files changed, 5479 insertions(+), 1211 deletions(-) rename typo3/sysext/impexp/Tests/Functional/{Export/AbstractExportTestCase.php => AbstractImportExportTestCase.php} (58%) rename typo3/sysext/impexp/Tests/Functional/Export/{GroupFileAndFileReferenceItemInFlexForm/ExportTest.php => GroupFileAndFileReferenceItemInFlexFormTest.php} (69%) rename typo3/sysext/impexp/Tests/Functional/Export/{GroupFileAndFileReferenceItem/ExportTest.php => GroupFileAndFileReferenceItemTest.php} (58%) rename typo3/sysext/impexp/Tests/Functional/Export/{IrreTutorialRecords/ExportTest.php => IrreTutorialRecordsTest.php} (88%) rename typo3/sysext/impexp/Tests/Functional/Export/{PagesAndTtContent/ExportTest.php => PagesAndTtContentTest.php} (59%) rename typo3/sysext/impexp/Tests/Functional/Export/{PagesAndTtContentWithImages/ExportTest.php => PagesAndTtContentWithImagesTest.php} (55%) delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItem/DataSet/Assertion => Fixtures/DatabaseAssertions}/importGroupFileAndFileReferenceItem.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion => Fixtures/DatabaseAssertions}/importGroupFileAndFileReferenceItemInFlexForm.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItem/DataSet/Assertion => Fixtures/DatabaseAssertions}/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItem/DataSet/Assertion => Fixtures/DatabaseAssertions}/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItem/DataSet/Assertion => Fixtures/DatabaseAssertions}/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/IrreTutorialRecords/DataSet/Assertion => Fixtures/DatabaseAssertions}/importIrreRecords.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContent/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContent.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImageWithForcedUids.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/DataSet/Assertion => Fixtures/DatabaseAssertions}/importPagesAndRelatedTtContentWithSameImageToExistingData.csv (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/irre_tutorial.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/pages.xml (100%) rename typo3/sysext/impexp/Tests/Functional/{Export/PagesAndTtContent/Fixtures/Database/sys_file.xml => Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml} (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_file.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_file_corrupt.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_file_metadata.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_file_reference.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_file_storage.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/sys_language.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/tt_content-with-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/tt_content.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{Database => DatabaseImports}/tx_impexpgroupfiles_item.xml (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/Folders/Assertion/fileadmin/user_upload => Fixtures/FileAssertions}/typo3_image2_01.jpg (100%) delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f delete mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/impexp-group-file-and-file_reference-item-but-images-not-included.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/impexp-group-file-and-file_reference-item-in-ff.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/impexp-group-file-and-file_reference-item.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/irre-records.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/pages-and-ttcontent-with-corrupt-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/pages-and-ttcontent-with-image-but-not-included.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/pages-and-ttcontent-with-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlExports/mysql}/pages-and-ttcontent.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/impexp-group-file-and-file_reference-item-but-images-not-included.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/impexp-group-file-and-file_reference-item-in-ff.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/impexp-group-file-and-file_reference-item.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/irre-records.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/pages-and-ttcontent-with-corrupt-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/pages-and-ttcontent-with-image-but-not-included.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/pages-and-ttcontent-with-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO => XmlExports/postgresql}/pages-and-ttcontent.xml (100%) create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml rename typo3/sysext/impexp/Tests/Functional/{Import/GroupFileAndFileReferenceItem/ImportExportXml => Fixtures/XmlImports}/impexp-group-file-and-file_reference-item-on-pid-zero.xml (100%) create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/ImportExportXml => Fixtures/XmlImports}/pages-and-ttcontent-with-existing-different-image.xml (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/ImportExportXml => Fixtures/XmlImports}/pages-and-ttcontent-with-existing-same-image.xml (100%) create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlImports}/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/ImportExportXml => Fixtures/XmlImports}/pages-and-ttcontent-with-image-with-forced-uids.xml (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/ImportExportXml => Fixtures/XmlImports}/pages-and-ttcontent-with-image-with-spaces-in-path.xml (100%) rename typo3/sysext/impexp/Tests/Functional/{Import/PagesAndTtContentWithImages/ImportExportXml => Fixtures/XmlImports}/pages-and-ttcontent-with-image-without-storage.xml (100%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml => XmlImports/pages-and-ttcontent-with-image.xml} (56%) rename typo3/sysext/impexp/Tests/Functional/Fixtures/{ImportExportXml/MySQL => XmlImports}/pages-and-ttcontent-with-rte-image-n-file-link.xml (100%) create mode 100644 typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php delete mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php create mode 100644 typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php diff --git a/typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php b/typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php similarity index 58% rename from typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php rename to typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php index ba13baef898d..3653ed59b3d1 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php +++ b/typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export; +namespace TYPO3\CMS\Impexp\Tests\Functional; /* * This file is part of the TYPO3 CMS project. @@ -14,33 +14,39 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export; * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Backend\Tree\View\PageTreeView; +use TYPO3\CMS\Core\Core\Bootstrap; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Query\QueryHelper; use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** - * Functional test for the Export + * Abstract used by ext:impexp functional tests */ -abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Functional\FunctionalTestCase +abstract class AbstractImportExportTestCase extends FunctionalTestCase { - /** - * Path to a XML fixture dependent on the current database. - * @var string - */ - protected $fixturePath = __DIR__ . '/../Fixtures/ImportExportXml/'; - /** * @var array */ - protected $coreExtensionsToLoad = ['impexp']; + protected $coreExtensionsToLoad = [ + 'impexp', + ]; /** - * @var \TYPO3\CMS\Impexp\Export + * Absolute path to files that must be removed + * after a test - handled in tearDown + * + * @var array */ - protected $export; + protected $testFilesToDelete = []; /** + * Different DBMS export different field types, the result XML is thus slightly different. + * This var is used to select a suitable XML export fixture to compare with. + * * @var string */ protected $databasePlatform; @@ -53,27 +59,44 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct { parent::setUp(); - $this->setUpBackendUserFromFixture(1); + $this->databasePlatform = $this->getConnectionPool() + ->getConnectionByName(ConnectionPool::DEFAULT_CONNECTION_NAME) + ->getDatabasePlatform() + ->getName(); - \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeLanguageObject(); + $backendUser = $this->setUpBackendUserFromFixture(1); + $backendUser->workspace = 0; + Bootstrap::getInstance()->initializeLanguageObject(); + } - $this->export = GeneralUtility::makeInstance(\TYPO3\CMS\Impexp\Export::class); - $this->export->init(0, 'export'); + /** + * Tear down for remove of the test files + */ + protected function tearDown() + { + foreach ($this->testFilesToDelete as $absoluteFileName) { + if (@is_file($absoluteFileName)) { + unlink($absoluteFileName); + } + } + parent::tearDown(); } /** * Builds a flat array containing the page tree with the PageTreeView * based on given start pid and depth and set it in the Export object. * + * Used in export tests + * + * @param $export Export instance * @param int $pidToStart * @param int $depth */ - protected function setPageTree($pidToStart, $depth = 1) + protected function setPageTree(Export $export, $pidToStart, $depth = 1) { $permsClause = $GLOBALS['BE_USER']->getPagePermsClause(1); - /** @var $tree \TYPO3\CMS\Backend\Tree\View\PageTreeView */ - $tree = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Tree\View\PageTreeView::class); + $tree = GeneralUtility::makeInstance(PageTreeView::class); $tree->init('AND ' . $permsClause); $tree->tree[] = ['row' => $pidToStart]; $tree->buffer_idH = []; @@ -86,16 +109,19 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct $idH[$pidToStart]['subrow'] = $tree->buffer_idH; } - $this->export->setPageTree($idH); + $export->setPageTree($idH); } /** * Adds records to the export object for a specific page id. * + * Used in export tests. + * + * @param $export Export instance * @param int $pid Page id for which to select records to add * @param array $tables Array of table names to select from */ - protected function addRecordsForPid($pid, array $tables) + protected function addRecordsForPid(Export $export, $pid, array $tables) { foreach ($GLOBALS['TCA'] as $table => $value) { if ($table !== 'pages' && (in_array($table, $tables) || in_array('_ALL', $tables))) { @@ -126,10 +152,31 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct $result = $queryBuilder->execute(); while ($row = $result->fetch()) { - $this->export->export_addRecord($table, $row); + $export->export_addRecord($table, $row); } } } } } + + /** + * Test if the local filesystem is case sensitive. + * Needed for some export related tests + * + * @return bool + */ + protected function isCaseSensitiveFilesystem() + { + $caseSensitive = true; + $path = GeneralUtility::tempnam('aAbB'); + + // do the actual sensitivity check + if (@file_exists(strtoupper($path)) && @file_exists(strtolower($path))) { + $caseSensitive = false; + } + + // clean filesystem + unlink($path); + return $caseSensitive; + } } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php similarity index 69% rename from typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php index eb1ec7d7ab73..82d52bf24915 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItemInFlexForm; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class GroupFileAndFileReferenceItemInFlexFormTest extends AbstractImportExportTestCase { /** * @var array @@ -40,10 +43,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tx_impexpgroupfiles_item.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml'); } /** @@ -51,7 +54,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItem() { - $this->export->setRecordTypesIncludeFields( + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -98,19 +104,19 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_storage' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 2)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 2)); - $this->setPageTree(2, 0); + $this->setPageTree($subject, 2, 0); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } @@ -123,13 +129,13 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor $this->markTestSkipped('Could not set file modification timestamp for a fixture binary file. This is required for running the test successful.'); } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item-in-ff.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item-in-ff.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php similarity index 58% rename from typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php index 2246cb73719a..61299266f518 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class GroupFileAndFileReferenceItemTest extends AbstractImportExportTestCase { /** * @var array @@ -40,10 +43,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tx_impexpgroupfiles_item.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml'); } /** @@ -51,12 +54,15 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItem() { - $this->compileExportGroupFileAndFileReferenceItem(); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->compileExportGroupFileAndFileReferenceItem($subject); + + $out = $subject->compileMemoryToFileContent('xml'); - $out = $this->export->compileMemoryToFileContent('xml'); - // 'impexp-group-file-and-file_reference-item-but-images-not-included.xml' $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item.xml', $out ); } @@ -66,25 +72,33 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItemButImagesNotIncluded() { - $this->export->setSaveFilesOutsideExportFile(true); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setSaveFilesOutsideExportFile(true); - $this->compileExportGroupFileAndFileReferenceItem(); + $this->compileExportGroupFileAndFileReferenceItem($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item-but-images-not-included.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item-but-images-not-included.xml', $out ); - $temporaryFilesDirectory = $this->export->getTemporaryFilesPathForExport(); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', $temporaryFilesDirectory . 'e1c5c4e1e34e19e2facb438752e06c3f'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', $temporaryFilesDirectory . 'c3511df85d21bc578faf71c6a19eeb3ff44af370'); + $temporaryFilesDirectory = $subject->getTemporaryFilesPathForExport(); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', $temporaryFilesDirectory . 'e1c5c4e1e34e19e2facb438752e06c3f'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', $temporaryFilesDirectory . 'c3511df85d21bc578faf71c6a19eeb3ff44af370'); } - protected function compileExportGroupFileAndFileReferenceItem() + /** + * Add default set of records to export + * + * @param $subject Export + */ + protected function compileExportGroupFileAndFileReferenceItem(Export $subject) { - $this->export->setRecordTypesIncludeFields( + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -130,19 +144,19 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_storage' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 1)); - $this->setPageTree(1, 0); + $this->setPageTree($subject, 1, 0); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } @@ -155,7 +169,7 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor $this->markTestSkipped('Could not set file modification timestamp for a fixture binary file. This is required for running the test successful.'); } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); } } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php similarity index 88% rename from typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php index 35d73883bde1..17a413839fab 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\IrreTutorialRecords; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\IrreTutorialRecords; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class IrreTutorialRecordsTest extends AbstractImportExportTestCase { /** * @var array @@ -28,13 +31,6 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor 'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial', ]; - protected function setUp() - { - parent::setUp(); - - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/irre_tutorial.xml'); - } - /** * @test */ @@ -274,28 +270,33 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ]; - $this->export->setRecordTypesIncludeFields($recordTypesIncludeFields); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/irre_tutorial.xml'); + + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields($recordTypesIncludeFields); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->addRecordsForPid(1, array_keys($recordTypesIncludeFields)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $this->addRecordsForPid($subject, 1, array_keys($recordTypesIncludeFields)); - $this->setPageTree(1); + $this->setPageTree($subject, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('irre-records.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/irre-records.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php similarity index 59% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php index 22eebcddadc5..67a0ec3708bd 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContent; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContent; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class PagesAndTtContentTest extends AbstractImportExportTestCase { /** * @var array @@ -39,10 +42,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/Fixtures/Database/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml'); } /** @@ -50,7 +53,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContent() { - $this->export->setRecordTypesIncludeFields( + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -84,32 +90,32 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 2)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 2)); - $this->setPageTree(1, 1); + $this->setPageTree($subject, 1, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php similarity index 55% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php index 8ceac0692a9d..711e724d0154 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContentWithImages; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContentWithImages; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class PagesAndTtContentWithImagesTest extends AbstractImportExportTestCase { /** * @var array @@ -32,12 +35,12 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); } /** @@ -45,17 +48,20 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImages() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); - $out = $this->export->compileMemoryToFileContent('xml'); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $errors = $this->export->printErrorLog(); + $out = $subject->compileMemoryToFileContent('xml'); + + $errors = $subject->printErrorLog(); $this->assertSame('', $errors); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-image.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-image.xml', $out ); } @@ -65,21 +71,24 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImagesFromCorruptSysFileRecord() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_corrupt.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_corrupt.xml'); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $expectedErrors = [ 'File size of 1:/user_upload/typo3_image2.jpg is not up-to-date in index! File added with current size.', 'File sha1 hash of 1:/user_upload/typo3_image2.jpg is not up-to-date in index! File added on current sha1.' ]; - $errors = $this->export->errorLog; + $errors = $subject->errorLog; $this->assertSame($expectedErrors, $errors); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-corrupt-image.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-corrupt-image.xml', $out ); } @@ -89,26 +98,34 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImagesButNotIncluded() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); - $this->export->setSaveFilesOutsideExportFile(true); + $subject->setSaveFilesOutsideExportFile(true); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-image-but-not-included.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-image-but-not-included.xml', $out ); - $temporaryFilesDirectory = $this->export->getTemporaryFilesPathForExport(); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', $temporaryFilesDirectory . 'da9acdf1e105784a57bbffec9520969578287797'); + $temporaryFilesDirectory = $subject->getTemporaryFilesPathForExport(); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', $temporaryFilesDirectory . 'da9acdf1e105784a57bbffec9520969578287797'); } - protected function compileExportPagesAndRelatedTtContentWithImages() + /** + * Add default set of records to export + * + * @param $subject Export + */ + protected function compileExportPagesAndRelatedTtContentWithImages(Export $subject) { - $this->export->setRecordTypesIncludeFields( + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -183,30 +200,30 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_metadata', 'sys_file_storage', 'sys_language' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); - $this->export->export_addRecord('sys_language', BackendUtility::getRecord('sys_language', 1)); - $this->export->export_addRecord('sys_file_reference', BackendUtility::getRecord('sys_file_reference', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); + $subject->export_addRecord('sys_language', BackendUtility::getRecord('sys_language', 1)); + $subject->export_addRecord('sys_file_reference', BackendUtility::getRecord('sys_file_reference', 1)); - $this->setPageTree(1, 1); + $this->setPageTree($subject, 1, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); } } diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml deleted file mode 100644 index bae95f8d5792..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<dataset> - <tt_content> - <uid>1</uid> - <pid>2</pid> - <CType>text</CType> - <header>Text element with image in RTE</header> - <bodytext><![CDATA[<img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /> And here a <link file:2 - download "Initiates file download">link to an image</link>.]]></bodytext> - <deleted>0</deleted> - <t3ver_oid>0</t3ver_oid> - <t3ver_wsid>0</t3ver_wsid> - </tt_content> -</dataset> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItem.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItem.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/importGroupFileAndFileReferenceItemInFlexForm.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/importGroupFileAndFileReferenceItemInFlexForm.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/importIrreRecords.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/importIrreRecords.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImageWithForcedUids.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImageWithForcedUids.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithSameImageToExistingData.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithSameImageToExistingData.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/irre_tutorial.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/irre_tutorial.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/irre_tutorial.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/irre_tutorial.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/pages.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/pages.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/pages.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/pages.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/Fixtures/Database/sys_file.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/Fixtures/Database/sys_file.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_corrupt.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_corrupt.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_corrupt.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_corrupt.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_metadata.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_metadata.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_metadata.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_metadata.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_reference.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_reference.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_reference.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_reference.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_storage.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_storage.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_storage.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_storage.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_language.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_language.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_language.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_language.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tx_impexpgroupfiles_item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tx_impexpgroupfiles_item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg b/typo3/sysext/impexp/Tests/Functional/Fixtures/FileAssertions/typo3_image2_01.jpg similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg rename to typo3/sysext/impexp/Tests/Functional/Fixtures/FileAssertions/typo3_image2_01.jpg diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 deleted file mode 100644 index 5806162003508b3251974acd7b6475fbab42a21f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7425 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 diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f deleted file mode 100644 index 2e0a9b65ff9bb8af0902ed56daded4b82fca8dbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6758 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 diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 deleted file mode 100644 index 5806162003508b3251974acd7b6475fbab42a21f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7425 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 diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f deleted file mode 100644 index 2e0a9b65ff9bb8af0902ed56daded4b82fca8dbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6758 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 diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 deleted file mode 100644 index bfb572bd51f050960dbaadefec05651a161d3bfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7958 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 Q1*lgMmmoSm@N(+^0ZV2L$N&HU diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-but-images-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-but-images-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-in-ff.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-in-ff.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-in-ff.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/irre-records.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/irre-records.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/irre-records.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-corrupt-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-corrupt-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-corrupt-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-corrupt-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image-but-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image-but-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-but-images-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-but-images-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-in-ff.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-in-ff.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-in-ff.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/irre-records.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/irre-records.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/irre-records.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-corrupt-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-corrupt-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-corrupt-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-corrupt-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image-but-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image-but-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml new file mode 100644 index 000000000000..d53b6972e67a --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test item</title> + <size>204</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"></softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="3">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item</field> + <field index="images">typo3_image4.jpg</field> + <field index="image_references">fileadmin/user_upload/typo3_image5.jpg</field> + </fieldlist> + <related index="rels" type="array"> + <field index="images" type="array"> + <type>file</type> + <filerefs index="newValueFiles" type="array"> + <file index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </file> + </filerefs> + </field> + <field index="image_references" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml new file mode 100644 index 000000000000..a0ee45f1df40 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml @@ -0,0 +1,700 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>2</pid> + <title>Test item 2</title> + <size>643</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"> + <softref_element index="flexform:sDEF/lDEF/link/vDEF/:typolink:e9e93f03ab903de1d9b8860afad1cb61:0" type="array"> + <field>flexform</field> + <spKey>typolink</spKey> + <structurePath>sDEF/lDEF/link/vDEF/</structurePath> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>e9e93f03ab903de1d9b8860afad1cb61</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image3.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="2" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="0" type="array"> + <table index="sys_file" type="array"> + <item index="3">1</item> + <item index="2">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:2/flexform</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item 2</field> + <field index="images"></field> + <field index="image_references"></field> + <field index="flexform"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="link"> + <value index="vDEF">file:2</value> + </field> + <field index="images"> + <value index="vDEF">typo3_image4.jpg</value> + </field> + <field index="image_references"> + <value index="vDEF">fileadmin/user_upload/typo3_image5.jpg</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + </fieldlist> + <related index="rels" type="array"> + <field index="flexform" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"> + <path index="sDEF/lDEF/image_references/vDEF/" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </path> + </db_relations> + <file_relations index="file" type="array"> + <path index="sDEF/lDEF/images/vDEF/" type="array"> + <element index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </element> + </path> + </file_relations> + <softref_relations index="softrefs" type="array"> + <structurePath index="sDEF/lDEF/link/vDEF/" type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="e9e93f03ab903de1d9b8860afad1cb61:0" type="array"> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>e9e93f03ab903de1d9b8860afad1cb61</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:e9e93f03ab903de1d9b8860afad1cb61}</tokenizedContent> + </structurePath> + </softref_relations> + </flexform> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image3.jpg</field> + <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image3.jpg</field> + <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> + <field index="size" type="integer">5565</field> + <field index="creation_date" type="integer">1393346082</field> + <field index="modification_date" type="integer">1392907534</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:2/flexform</record_ref> + <content base64="1"> +/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDABwTFRgVERwYFhgfHRwhKUUtKSYmKVQ8QDJFZFhpZ2JY +YF9ufJ6GbnWWd19giruLlqOpsbOxa4TC0MGszp6usar/2wBDAR0fHykkKVEtLVGqcmByqqqqqqqq +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/wAARCAELAZADASIA +AhEBAxEB/8QAGgABAQADAQEAAAAAAAAAAAAAAAECAwQFBv/EADUQAAICAQMDAwMCBQQBBQAAAAAB +AhEDBCExEkFREyJhBTJxQoEjUpGhsRQzwdHhFSU0YvD/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQID +BAX/xAAkEQEBAAICAgIDAQADAAAAAAAAAQIRAyESMUFRBBMyIhRSkf/aAAwDAQACEQMRAD8A88AH +U5QAAACgQFAEBQBAUAQFAEBQBAUAQFAEBQBAUAQAAAAAAASAAAAAAAIAAAAAAIUAQFAEAAAAAAAE +sgASoAAJAAAAAAAAAUgAAAAUAQFIABQBAUAQAAAAAAAAAAAAAAAEBQBAUAQFIAAASAAAAAICggQF +AFBQSqgKABCgAAAAAAAAAAAAACQAAAAAAAAAAAKFAAAAIUAQFAEBQBAUgAAAAAAAAAhQBAUgAAAA +ABkCgIQoAAhQAAAAAAAAAAKEoAUCAFAgBQICgCApHwwlpWZSyOLaS4TujoyqGOajDIsidbpnJpsb +c0un3SexnKD64tpqKkk34Ofyu9un9c03Ar52B0OVCFAEBQBAUAQFAEAAAAACFAEBQBAAAAAAAAZA +oJQgKAICggAAAAAAAAAAAAAAABIAAAKLSe/JXLKYzdacfHlyXWIk3wjGU4we/K8GTlexra3Zjea/ +D0cfwJJ/qt+HJLJjcdutS6vyXJkT6cVKTju32s5Wm9otr8GxKjCe3R/x5dz4VoFT7PdBquN0deGc +yeZz/jZcXfuIADRyoCgCAoAgBQIAABCgCAoAgKQIAAAIUAQFASyBQShAUAQFAEKAQAAAAAAAVRb4 +TCUBXFp001+SBAAAADvhcs2abRZ88koSp1fuZW5aXmO2tvp7GLplnFxk1LaS2ZjGLkk1sjmytzye +zxfr4OOW32jfuQfJZJQlFtdS7rg2+vGmo4IK1V22Us11WuPL5zeM3GuKpspO5ceVQncoKa8MhvvU +RujKLpUxlnjyRXpwcJN+bRt0WB5pPrTqPZdyZv3GOfLhqzJrar8Mh6r0+KKUceKGWL79VHDq9P8A +6fLS3i+Dqwz31Xh8mEltx9NAANGSAoAgKQAAAAAAgKAICgCApAICgIQFASzABKAAAAAAABAAAAAA +MZ5YYqc+514M+JRU5Tio+Wzh1MFLFclsnz4NMcb1ORPruSXD+Oxy808r26uL109TV6zRzSUJ2/iL +OY0zxZJRa9OlGrt/4N5fg6lV55JYgKDdgq9kMmdxtY43XlnXptZqI4lOWDGlXNnnZtRGODLhpyc4 +9uzs6NLn9THGUFb4aruc3Jl26uLj3O2GpyvLrJRlDo2VpeQa69TVyyKulbL5Zt43Zfj1J5VPL55a +45GvM0ob89jXHg2SSm7aMPSj2tfhmOeXldvT4OHLiw1WSI4+CKLX6jLfz/YzdPthi/3DqhkUelTU +qlKtn+DRCKWRy87Gief+P05G1jvttXhm0s8NPK58Mv27vrT2VWHK8tOV/pWya88vsc2s1kczgptR +lbVXfxfxwZYsi9NOXvpbtvg8fJNT1E5R+1ybQlm9xjcNTVegQxxN+lFy2v7fkzOmXc25MsdXVQFB +KEBSAAAAAAEBQBAUAQFIAAAEBQBmACUAAAAAAAAAAAGUcc5K4xbRcUHOSpbd7O5PppJJIw5OXx6j +THDfbzHKXQ5R+1bS8p/KNenjBZ1Je29tlt/Q6oS/9zk4uk17vnZFlpmtSnFrp5SfYwyy3e22PXoy +OPSunIp+fg1GGjw6iEJucV0yd01ubHzsdHFetM+XvLbRqM3opVu+a+DkepnPmW18Ub9RCWSbaVxW +xjpccPSk3Hl8+Cmee634OLzumUF1pXFp8p0Zwl0zbi3Fte6nVmUd0nw1sSWNSyqTfBjt6U4fHHUZ +QSjFJcGTd8mcYw9Gcvc5RrttRqcknuG+Nx/8UlljclsirH5f7ImYZX0z5PyOPj91j1IWZyxpr27M +1VWztPwMsLj7RxfkY8v8pkk+InJNNyal3OlvyaslfKaIjPmsvupjcvSeOWRxj8K2/g36XDCCUmrl +ffsa8aThJtdtjLFOo0LUcXHjLLXTkuDjOK6lF241dmUqbbjvF8fgkJyhOM4umt0WUnJuTio27pGv +De9Of87DWsmIKDpeYgKAICkAAAAQoAgKAICkAAAAQoAzABKoAAAAAAAJAlbpA2Yujq9+yK5Xxm0y +bum/HHoj7VbS/qPUTat1yjHHkSpXcl8VZpcorUdVPb3V/lnBd5XddMnwv07D151nm6cm+mL5ryzf +nk4Rcu8dzLFnT92KXXFr2t/p+KMZpzVW07TvzuTldp9VrlNvUU79PpTe2yLmxuOFzUK22TVfuZrJ +HDU5Rc+rjwmvP9TKWraVq3N8t8L8Itjjfguvloz4Xi0M47dS9ylf3I4sDShKK233R1zySybTk2nz +8nDjdTbfdlrjcZ26vxMpc+mTjbafBsMMmytGSkZvRx6umXqVB43Lpi938mjPc4UlSXfuYau1CLXZ +mGOU5e3my0jj5+TKZeGLp0zUPbbal/k6DVh0/pU3Pqa42Np1YSydvL5cpb0EpP7lZQXs2zlsu449 +RF4cs01cmvZXBobtL57HpSdR6n+lbfBojjV9TVt9zmzni7+DjvP20R6kqlzVGWBb14ZNQ0si3q0Y +6eT9yvZ870Ze3XuYZSV2fBslJzUW2nsla+DQ76qava7N+LInpvSUY1GVqS+expxdVh+blMpJPhiC +g6nloCgCAoAgKKtgQGUoyg6kmn4ZiAAAEBQBAUgAAAZgFJVQFAEBQBAUBKFtRabk1XZAyhFStNX4 +RnyTeNWw/puyTjLH0yjN7cpU0acE4QXqNN3s21v4M4427U16a7X/APv+RigvcvUUk+V2RxOlax45 +rJj2jL7klt+TOU1t3vhBN449MY9T7JFjDpu3cny1/ggY50nC1scx05fsa+TnOzh/lhyew4Mk16sm +tk2d55+qxrFN1w90OWdN/wAXLVrbjyJrpkVxcXa4OPGr5bOic5RS36uxz2PQw/JlnbdJRa91V8mK +njivY0+3tNM+qeFpfvXc6tDjwegpSg0097lV7duxPirn+V/1jZBycE5Kn4Mish1zqPJztyytoACV +WGT/AG38swVnoYPp09RFTnL08fN1uzp1mjw4dJKWCG6fub3dfucvL3Xqfi8uPHhq+6+d1mKbljfR +Lpa5o6dFoHlyJKLaT3lXCPY+mzcsUovlPh7nS4Y+hwUVBS39qoy8k5Z7tuu3z+t1HWp6eGOMIQk1 +t3p8/wBjHS2oyT5+D0830jE3/DySj+dzmh9Py4XJ+2d+Ga4ZTblzlsawZyxzh90HH8oxOpyaQhkA +IDdg02XUSrHG13b4R6Wn0Wn08l6s4zyvhSdL+hXLORbHC15+HR5Mq6muiHl9/wAHXj00MNUt33fJ +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 +</content> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content base64="1"> +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 +oDglIOy49+o2eaEKg//Z +</content> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + <content base64="1"> +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 +</content> + <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml new file mode 100644 index 000000000000..0f22e24884a8 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml @@ -0,0 +1,490 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test item</title> + <size>204</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"></softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="3">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item</field> + <field index="images">typo3_image4.jpg</field> + <field index="image_references">fileadmin/user_upload/typo3_image5.jpg</field> + </fieldlist> + <related index="rels" type="array"> + <field index="images" type="array"> + <type>file</type> + <filerefs index="newValueFiles" type="array"> + <file index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </file> + </filerefs> + </field> + <field index="image_references" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + <content base64="1"> +/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDABwTFRgVERwYFhgfHRwhKUUtKSYmKVQ8QDJFZFhpZ2JY +YF9ufJ6GbnWWd19giruLlqOpsbOxa4TC0MGszp6usar/2wBDAR0fHykkKVEtLVGqcmByqqqqqqqq +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/wAARCAELAZADASIA +AhEBAxEB/8QAGgABAQADAQEAAAAAAAAAAAAAAAECAwQFBv/EADUQAAICAQMDAwMCBQQBBQAAAAAB +AhEDBCExEkFREyJhBTJxQoEjUpGhsRQzwdHhFSU0YvD/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQID +BAX/xAAkEQEBAAICAgIDAQADAAAAAAAAAQIRAyESMUFRBBMyIhRSkf/aAAwDAQACEQMRAD8A88AH +U5QAAACgQFAEBQBAUAQFAEBQBAUAQFAEBQBAUAQAAAAAAASAAAAAAAIAAAAAAIUAQFAEAAAAAAAE +sgASoAAJAAAAAAAAAUgAAAAUAQFIABQBAUAQAAAAAAAAAAAAAAAEBQBAUAQFIAAASAAAAAICggQF +AFBQSqgKABCgAAAAAAAAAAAAACQAAAAAAAAAAAKFAAAAIUAQFAEBQBAUgAAAAAAAAAhQBAUgAAAA +ABkCgIQoAAhQAAAAAAAAAAKEoAUCAFAgBQICgCApHwwlpWZSyOLaS4TujoyqGOajDIsidbpnJpsb +c0un3SexnKD64tpqKkk34Ofyu9un9c03Ar52B0OVCFAEBQBAUAQFAEAAAAACFAEBQBAAAAAAAAZA +oJQgKAICggAAAAAAAAAAAAAAABIAAAKLSe/JXLKYzdacfHlyXWIk3wjGU4we/K8GTlexra3Zjea/ +D0cfwJJ/qt+HJLJjcdutS6vyXJkT6cVKTju32s5Wm9otr8GxKjCe3R/x5dz4VoFT7PdBquN0deGc +yeZz/jZcXfuIADRyoCgCAoAgBQIAABCgCAoAgKQIAAAIUAQFASyBQShAUAQFAEKAQAAAAAAAVRb4 +TCUBXFp001+SBAAAADvhcs2abRZ88koSp1fuZW5aXmO2tvp7GLplnFxk1LaS2ZjGLkk1sjmytzye +zxfr4OOW32jfuQfJZJQlFtdS7rg2+vGmo4IK1V22Us11WuPL5zeM3GuKpspO5ceVQncoKa8MhvvU +RujKLpUxlnjyRXpwcJN+bRt0WB5pPrTqPZdyZv3GOfLhqzJrar8Mh6r0+KKUceKGWL79VHDq9P8A +6fLS3i+Dqwz31Xh8mEltx9NAANGSAoAgKQAAAAAAgKAICgCApAICgIQFASzABKAAAAAAABAAAAAA +MZ5YYqc+514M+JRU5Tio+Wzh1MFLFclsnz4NMcb1ORPruSXD+Oxy808r26uL109TV6zRzSUJ2/iL +OY0zxZJRa9OlGrt/4N5fg6lV55JYgKDdgq9kMmdxtY43XlnXptZqI4lOWDGlXNnnZtRGODLhpyc4 +9uzs6NLn9THGUFb4aruc3Jl26uLj3O2GpyvLrJRlDo2VpeQa69TVyyKulbL5Zt43Zfj1J5VPL55a +45GvM0ob89jXHg2SSm7aMPSj2tfhmOeXldvT4OHLiw1WSI4+CKLX6jLfz/YzdPthi/3DqhkUelTU +qlKtn+DRCKWRy87Gief+P05G1jvttXhm0s8NPK58Mv27vrT2VWHK8tOV/pWya88vsc2s1kczgptR +lbVXfxfxwZYsi9NOXvpbtvg8fJNT1E5R+1ybQlm9xjcNTVegQxxN+lFy2v7fkzOmXc25MsdXVQFB +KEBSAAAAAAEBQBAUAQFIAAAEBQBmACUAAAAAAAAAAAGUcc5K4xbRcUHOSpbd7O5PppJJIw5OXx6j +THDfbzHKXQ5R+1bS8p/KNenjBZ1Je29tlt/Q6oS/9zk4uk17vnZFlpmtSnFrp5SfYwyy3e22PXoy +OPSunIp+fg1GGjw6iEJucV0yd01ubHzsdHFetM+XvLbRqM3opVu+a+DkepnPmW18Ub9RCWSbaVxW +xjpccPSk3Hl8+Cmee634OLzumUF1pXFp8p0Zwl0zbi3Fte6nVmUd0nw1sSWNSyqTfBjt6U4fHHUZ +QSjFJcGTd8mcYw9Gcvc5RrttRqcknuG+Nx/8UlljclsirH5f7ImYZX0z5PyOPj91j1IWZyxpr27M +1VWztPwMsLj7RxfkY8v8pkk+InJNNyal3OlvyaslfKaIjPmsvupjcvSeOWRxj8K2/g36XDCCUmrl +ffsa8aThJtdtjLFOo0LUcXHjLLXTkuDjOK6lF241dmUqbbjvF8fgkJyhOM4umt0WUnJuTio27pGv +De9Of87DWsmIKDpeYgKAICkAAAAQoAgKAICkAAAAQoAzABKoAAAAAAAJAlbpA2Yujq9+yK5Xxm0y +bum/HHoj7VbS/qPUTat1yjHHkSpXcl8VZpcorUdVPb3V/lnBd5XddMnwv07D151nm6cm+mL5ryzf +nk4Rcu8dzLFnT92KXXFr2t/p+KMZpzVW07TvzuTldp9VrlNvUU79PpTe2yLmxuOFzUK22TVfuZrJ +HDU5Rc+rjwmvP9TKWraVq3N8t8L8Itjjfguvloz4Xi0M47dS9ylf3I4sDShKK233R1zySybTk2nz +8nDjdTbfdlrjcZ26vxMpc+mTjbafBsMMmytGSkZvRx6umXqVB43Lpi938mjPc4UlSXfuYau1CLXZ +mGOU5e3my0jj5+TKZeGLp0zUPbbal/k6DVh0/pU3Pqa42Np1YSydvL5cpb0EpP7lZQXs2zlsu449 +RF4cs01cmvZXBobtL57HpSdR6n+lbfBojjV9TVt9zmzni7+DjvP20R6kqlzVGWBb14ZNQ0si3q0Y +6eT9yvZ870Ze3XuYZSV2fBslJzUW2nsla+DQ76qava7N+LInpvSUY1GVqS+expxdVh+blMpJPhiC +g6nloCgCAoAgKKtgQGUoyg6kmn4ZiAAAEBQBAUgAAAZgFJVQFAEBQBAUBKFtRabk1XZAyhFStNX4 +RnyTeNWw/puyTjLH0yjN7cpU0acE4QXqNN3s21v4M4427U16a7X/APv+RigvcvUUk+V2RxOlax45 +rJj2jL7klt+TOU1t3vhBN449MY9T7JFjDpu3cny1/ggY50nC1scx05fsa+TnOzh/lhyew4Mk16sm +tk2d55+qxrFN1w90OWdN/wAXLVrbjyJrpkVxcXa4OPGr5bOic5RS36uxz2PQw/JlnbdJRa91V8mK +njivY0+3tNM+qeFpfvXc6tDjwegpSg0097lV7duxPirn+V/1jZBycE5Kn4Mish1zqPJztyytoACV +WGT/AG38swVnoYPp09RFTnL08fN1uzp1mjw4dJKWCG6fub3dfucvL3Xqfi8uPHhq+6+d1mKbljfR +Lpa5o6dFoHlyJKLaT3lXCPY+mzcsUovlPh7nS4Y+hwUVBS39qoy8k5Z7tuu3z+t1HWp6eGOMIQk1 +t3p8/wBjHS2oyT5+D0830jE3/DySj+dzmh9Py4XJ+2d+Ga4ZTblzlsawZyxzh90HH8oxOpyaQhkA +IDdg02XUSrHG13b4R6Wn0Wn08l6s4zyvhSdL+hXLORbHC15+HR5Mq6muiHl9/wAHXj00MNUt33fJ +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 +</content> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content base64="1"> +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 +oDglIOy49+o2eaEKg//Z +</content> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml new file mode 100644 index 000000000000..63e166756e06 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml @@ -0,0 +1,1884 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>IRRE</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>230</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="tx_irretutorial_1nff_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="tx_irretutorial_1ncsv_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + <element index="tx_irretutorial_1ncsv_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_hotel" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (csv)</title> + <size>215</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + <element index="tx_irretutorial_1ncsv_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_offer" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.2 (csv)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_price" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price 2.2.1 (csv)</title> + <size>215</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.2.1 (csv)</title> + <size>215</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (csv)</title> + <size>216</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (nff)</title> + <size>296</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + <element index="tx_irretutorial_1nff_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (nff)</title> + <size>296</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_offer" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_price</table> + </element> + <element index="tx_irretutorial_1nff_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.1 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:4" type="array"> + <id>4</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_price" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (nff)</title> + <size>315</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price 1.2.1 (nff)</title> + <size>317</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="4" type="array"> + <uid>4</uid> + <pid>1</pid> + <title>Price 2.1.1 (nff)</title> + <size>321</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.1.2 (nff)</title> + <size>317</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_hotel_offer_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>234</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + <element index="tx_irretutorial_mnasym_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + <element index="tx_irretutorial_mnasym_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>234</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + <element index="tx_irretutorial_mnasym_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + <element index="tx_irretutorial_mnasym_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_offer" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 2 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_price" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1 1:2 (m:n ASym)</title> + <size>238</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 2 1:1 (m:n ASym)</title> + <size>237</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_hotel_offer_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>253</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + <element index="tx_irretutorial_mnattr_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>253</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + <element index="tx_irretutorial_mnattr_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_offer" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 2 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n (MM) ASym)</title> + <size>221</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + <element index="tx_irretutorial_mnmmasym_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (m:n (MM) ASym)</title> + <size>221</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_offer" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.1 (m:n (MM) ASym)</title> + <size>239</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (m:n (MM) ASym)</title> + <size>240</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (m:n (MM) ASym)</title> + <size>240</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_price" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price (m:n (MM) ASym)</title> + <size>236</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.2.2 (m:n (MM) ASym)</title> + <size>243</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (m:n (MM) ASym)</title> + <size>243</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnsym_hotel" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel Branch 1.1 (mm sym)</title> + <size>225</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Hotel branch 1.2 (mm sym)</title> + <size>225</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (mm sym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnsym_hotel_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>220</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>220</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tt_content" type="array"> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_hotel" type="array"> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_offer" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_price" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1nff_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_1nff_offer" type="array"> + <item index="1">1</item> + <item index="3">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_1nff_price" type="array"> + <item index="1">1</item> + <item index="3">1</item> + <item index="4">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnasym_hotel" type="array"> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnasym_hotel_offer_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnasym_offer" type="array"> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnasym_price" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_hotel_offer_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_offer" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_offer" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_price" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnsym_hotel" type="array"> + <item index="2">1</item> + <item index="3">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnsym_hotel_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">IRRE</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content</field> + <field index="deleted" type="integer">0</field> + <field index="tx_irretutorial_1nff_hotels" type="integer">2</field> + <field index="tx_irretutorial_1ncsv_hotels">1,2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="tx_irretutorial_1nff_hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + </relations> + </field> + <field index="tx_irretutorial_1ncsv_hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (csv)</field> + <field index="offers">3</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (csv)</field> + <field index="offers">1,2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2.2 (csv)</field> + <field index="prices">3</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.2 (csv)</field> + <field index="prices">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.1 (csv)</field> + <field index="prices">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 2.2.1 (csv)</field> + <field index="price" type="double">112</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.2.1 (csv)</field> + <field index="price" type="double">90</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.1.1 (csv)</field> + <field index="price" type="double">567</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tt_content</field> + <field index="parentidentifier"></field> + <field index="title">Hotel 1 (nff)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tt_content</field> + <field index="parentidentifier"></field> + <field index="title">Hotel 2 (nff)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 1.1 (nff)</field> + <field index="prices" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_price</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 2.1 (nff)</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>4</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 1.2 (nff)</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.1.1 (nff)</field> + <field index="price" type="double">4</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.2.1 (nff)</field> + <field index="price" type="double">678</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:4" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">4</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">3</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 2.1.1 (nff)</field> + <field index="price" type="double">5467567</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.1.2 (nff)</field> + <field index="price" type="double">869</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n ASym)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + <element index="1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">2</field> + <field index="hotelsort" type="integer">2</field> + <field index="offersort" type="integer">1</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + </relations> + </field> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">1</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">1</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + </relations> + </field> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2 (m:n ASym)</field> + <field index="hotels" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1 (m:n ASym)</field> + <field index="hotels" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="title">Price 1 1:2 (m:n ASym)</field> + <field index="price" type="double">678</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="title">Price 2 1:1 (m:n ASym)</field> + <field index="price" type="double">45</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n Attr)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (m:n Attr)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">1</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">0</field> + <field index="quality" type="integer">2</field> + <field index="allincl" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">2</field> + <field index="offerid" type="integer">2</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">0</field> + <field index="quality" type="integer">4</field> + <field index="allincl" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1 (m:n Attr)</field> + <field index="hotels" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2 (m:n Attr)</field> + <field index="hotels" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n (MM) ASym)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (m:n (MM) ASym)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2.1 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.2 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.1 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price (m:n (MM) ASym)</field> + <field index="price" type="double">223</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.2.2 (m:n (MM) ASym)</field> + <field index="price" type="double">567</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.1.1 (m:n (MM) ASym)</field> + <field index="price" type="double">567</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel Branch 1.1 (mm sym)</field> + <field index="branches" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">192</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel branch 1.2 (mm sym)</field> + <field index="branches" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (mm sym)</field> + <field index="branches" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="branchid" type="integer">2</field> + <field index="hotelsort" type="integer">1</field> + <field index="branchsort" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + <field index="branchid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="branchid" type="integer">3</field> + <field index="hotelsort" type="integer">2</field> + <field index="branchsort" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + <field index="branchid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + </records> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml new file mode 100644 index 000000000000..fc9906883345 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml @@ -0,0 +1,463 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>196</size> + <relations index="rels" type="array"> + <element index="sys_file_reference:1" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:1</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:1</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + </table> + <table index="sys_language" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Deutsch</title> + <size>97</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_reference" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>typo3_image2.jpg</title> + <size>277</size> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>502</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file_metadata:2" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_metadata" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>266</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>263</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_language:1" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_language" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_metadata" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + <table index="tt_content" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_reference" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + <node index="subrow" type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </node> + </node> + </pagetree> + <files_fal type="array"> + <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> + <filesize>7958</filesize> + <filename>typo3_image2.jpg</filename> + <filemtime>1389878273</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">textpic</field> + <field index="header">Test content</field> + <field index="image" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="image" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + </field> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:1</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:1</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="sys_language:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Deutsch</field> + <field index="flag">de</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="sys_file_reference:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="uid_local" type="integer">1</field> + <field index="uid_foreign" type="integer">1</field> + <field index="tablenames">tt_content</field> + <field index="fieldname">image</field> + <field index="sorting_foreign" type="integer">0</field> + <field index="table_local">sys_file</field> + <field index="title" type="NULL"></field> + <field index="description" type="NULL"></field> + <field index="alternative" type="NULL"></field> + <field index="link"></field> + </fieldlist> + <related index="rels" type="array"> + <field index="uid_local" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image2.jpg</field> + <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image2.jpg</field> + <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> + <field index="size" type="integer">7958</field> + <field index="creation_date" type="integer">1389878273</field> + <field index="modification_date" type="integer">1389878273</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + <field index="metadata" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l10n_parent" type="integer">0</field> + <field index="file" type="integer">1</field> + <field index="title">Dummy image</field> + <field index="width" type="integer">400</field> + <field index="height" type="integer">300</field> + <field index="description">This is a dummy image.</field> + <field index="alternative">Photo of program code</field> + </fieldlist> + <related index="rels" type="array"> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">1</field> + <field index="l10n_parent" type="integer">1</field> + <field index="file" type="integer">1</field> + <field index="title">Beispiel Bild</field> + <field index="width" type="integer">0</field> + <field index="height" type="integer">0</field> + <field index="description">Nur ein Beispielbild.</field> + <field index="alternative">Foto von Programmcode</field> + </fieldlist> + <related index="rels" type="array"> + <field index="sys_language_uid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + </relations> + </field> + <field index="l10n_parent" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + </records> + <files_fal type="array"> + <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> + <filesize>7958</filesize> + <filename>typo3_image2.jpg</filename> + <filemtime>1389878273</filemtime> + <content_sha1>da9acdf1e105784a57bbffec9520969578287797</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml similarity index 56% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml index a1856bfa7162..23580a6830e7 100644 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml @@ -7,7 +7,7 @@ <uid>1</uid> <pid>0</pid> <title>Root</title> - <size>162</size> + <size>138</size> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> @@ -15,7 +15,7 @@ <uid>2</uid> <pid>1</pid> <title>Dummy 1-2</title> - <size>167</size> + <size>143</size> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> @@ -23,62 +23,75 @@ <table index="tt_content" type="array"> <rec index="1" type="array"> <uid>1</uid> - <pid>2</pid> - <title>Text element with image in RTE</title> - <size>464</size> - <relations index="rels" type="array"></relations> + <pid>1</pid> + <title>Test content</title> + <size>196</size> + <relations index="rels" type="array"> + <element index="sys_file_reference:1" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> <softrefs type="array"> - <softref_element index="bodytext:rtehtmlarea_images:1" type="array"> - <field>bodytext</field> - <spKey>rtehtmlarea_images</spKey> - <matchString><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /></matchString> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:1</matchString> <subst type="array"> <type>db</type> <recordRef>sys_file:1</recordRef> - <tokenID>00e731fe86bdecc2a8f81302b206db00</tokenID> - <tokenValue>1</tokenValue> - </subst> - </softref_element> - <softref_element index="bodytext:typolink_tag:747a4a59a9f66015a82d1648e919e0b8:1" type="array"> - <field>bodytext</field> - <spKey>typolink_tag</spKey> - <matchString>file:2 - download "Initiates file download"</matchString> - <subst type="array"> - <type>db</type> - <recordRef>sys_file:2</recordRef> - <tokenID>747a4a59a9f66015a82d1648e919e0b8</tokenID> - <tokenValue>file:2</tokenValue> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> </subst> </softref_element> </softrefs> </rec> </table> - <table index="sys_file" type="array"> + <table index="sys_language" type="array"> <rec index="1" type="array"> <uid>1</uid> <pid>0</pid> + <title>Deutsch</title> + <size>97</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_reference" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> <title>typo3_image2.jpg</title> - <size>558</size> - <relationLevel>1</relationLevel> + <size>277</size> <relations index="rels" type="array"> - <element index="sys_file_storage:1" type="array"> + <element index="sys_file:1" type="array"> <id>1</id> - <table>sys_file_storage</table> + <table>sys_file</table> </element> </relations> <softrefs type="array"></softrefs> </rec> - <rec index="2" type="array"> - <uid>2</uid> + </table> + <table index="sys_file" type="array"> + <rec index="1" type="array"> + <uid>1</uid> <pid>0</pid> - <title>typo3_image3.jpg</title> - <size>558</size> + <title>typo3_image2.jpg</title> + <size>502</size> <relationLevel>1</relationLevel> <relations index="rels" type="array"> <element index="sys_file_storage:1" type="array"> <id>1</id> <table>sys_file_storage</table> </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file_metadata:2" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> </relations> <softrefs type="array"></softrefs> </rec> @@ -88,35 +101,80 @@ <uid>1</uid> <pid>0</pid> <title>fileadmin/ (auto-created)</title> - <size>722</size> + <size>694</size> <relationLevel>2</relationLevel> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> </table> + <table index="sys_file_metadata" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>266</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>263</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_language:1" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> </records> <pid_lookup type="array"> <page_contents index="0" type="array"> <table index="pages" type="array"> <item index="1">1</item> </table> + <table index="sys_language" type="array"> + <item index="1">1</item> + </table> <table index="sys_file" type="array"> <item index="1">1</item> - <item index="2">1</item> </table> <table index="sys_file_storage" type="array"> <item index="1">1</item> </table> + <table index="sys_file_metadata" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> </page_contents> <page_contents index="1" type="array"> <table index="pages" type="array"> <item index="2">1</item> </table> - </page_contents> - <page_contents index="2" type="array"> <table index="tt_content" type="array"> <item index="1">1</item> </table> + <table index="sys_file_reference" type="array"> + <item index="1">1</item> + </table> </page_contents> </pid_lookup> <pagetree type="array"> @@ -135,128 +193,128 @@ <filename>typo3_image2.jpg</filename> <filemtime>1389878273</filemtime> </file> - <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> - <filesize>5565</filesize> - <filename>typo3_image3.jpg</filename> - <filemtime>1392907534</filemtime> - </file> </files_fal> </header> <records type="array"> <tablerow index="pages:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> - <field index="deleted">0</field> - <field index="perms_everybody">15</field> - <field index="hidden">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> <field index="title">Root</field> - <field index="doktype">1</field> + <field index="doktype" type="integer">1</field> </fieldlist> <related index="rels" type="array"></related> </tablerow> <tablerow index="pages:2" type="array"> <fieldlist index="data" type="array"> - <field index="uid">2</field> - <field index="pid">1</field> - <field index="deleted">0</field> - <field index="perms_everybody">15</field> - <field index="hidden">0</field> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> <field index="title">Dummy 1-2</field> - <field index="doktype">1</field> + <field index="doktype" type="integer">1</field> </fieldlist> <related index="rels" type="array"></related> </tablerow> <tablerow index="tt_content:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">2</field> - <field index="t3ver_oid">0</field> - <field index="hidden">0</field> - <field index="CType">text</field> - <field index="header">Text element with image in RTE</field> - <field index="bodytext"><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" />&nbsp;&nbsp;And here a <link file:2 - download "Initiates file download">link to an image</link>.</field> - <field index="deleted">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">textpic</field> + <field index="header">Test content</field> + <field index="image" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:1</field> </fieldlist> <related index="rels" type="array"> - <field index="bodytext" type="array"> + <field index="image" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + </field> + <field index="header_link" type="array"> <softrefs type="array"> <keys type="array"> - <softref_key index="rtehtmlarea_images" type="array"> - <softref_element index="1" type="array"> - <matchString><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /></matchString> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:1</matchString> <subst type="array"> <type>db</type> <recordRef>sys_file:1</recordRef> - <tokenID>00e731fe86bdecc2a8f81302b206db00</tokenID> - <tokenValue>1</tokenValue> - </subst> - </softref_element> - </softref_key> - <softref_key index="typolink_tag" type="array"> - <softref_element index="747a4a59a9f66015a82d1648e919e0b8:1" type="array"> - <matchString>file:2 - download "Initiates file download"</matchString> - <subst type="array"> - <type>db</type> - <recordRef>sys_file:2</recordRef> - <tokenID>747a4a59a9f66015a82d1648e919e0b8</tokenID> - <tokenValue>file:2</tokenValue> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> </subst> </softref_element> </softref_key> </keys> - <tokenizedContent><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="{softref:00e731fe86bdecc2a8f81302b206db00}" height="225" width="300" alt="" style="" />&nbsp;&nbsp;And here a <LINK {softref:747a4a59a9f66015a82d1648e919e0b8} - download "Initiates file download">link to an image</link>.</tokenizedContent> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> </softrefs> </field> </related> </tablerow> - <tablerow index="sys_file:1" type="array"> + <tablerow index="sys_language:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> - <field index="storage">1</field> - <field index="type">2</field> - <field index="metadata">0</field> - <field index="identifier">/user_upload/typo3_image2.jpg</field> - <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> - <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> - <field index="extension">jpg</field> - <field index="mime_type">image/jpeg</field> - <field index="name">typo3_image2.jpg</field> - <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> - <field index="size">7958</field> - <field index="creation_date">1389878273</field> - <field index="modification_date">1389878273</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Deutsch</field> + <field index="flag">de</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="sys_file_reference:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="uid_local" type="integer">1</field> + <field index="uid_foreign" type="integer">1</field> + <field index="tablenames">tt_content</field> + <field index="fieldname">image</field> + <field index="sorting_foreign" type="integer">0</field> + <field index="table_local">sys_file</field> + <field index="title" type="NULL"></field> + <field index="description" type="NULL"></field> + <field index="alternative" type="NULL"></field> + <field index="link"></field> </fieldlist> <related index="rels" type="array"> - <field index="storage" type="array"> + <field index="uid_local" type="array"> <type>db</type> <relations index="itemArray" type="array"> <element index="0" type="array"> <id>1</id> - <table>sys_file_storage</table> + <table>sys_file</table> </element> </relations> </field> </related> </tablerow> - <tablerow index="sys_file:2" type="array"> + <tablerow index="sys_file:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">2</field> - <field index="pid">0</field> - <field index="storage">1</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> <field index="type">2</field> - <field index="metadata">0</field> - <field index="identifier">/user_upload/typo3_image3.jpg</field> - <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image2.jpg</field> + <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> - <field index="extension">jpg</field> <field index="mime_type">image/jpeg</field> - <field index="name">typo3_image3.jpg</field> - <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> - <field index="size">5565</field> - <field index="creation_date">1393346082</field> - <field index="modification_date">1392907534</field> + <field index="name">typo3_image2.jpg</field> + <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> + <field index="size" type="integer">7958</field> + <field index="creation_date" type="integer">1389878273</field> + <field index="modification_date" type="integer">1389878273</field> </fieldlist> <related index="rels" type="array"> <field index="storage" type="array"> @@ -268,12 +326,25 @@ </element> </relations> </field> + <field index="metadata" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> </related> </tablerow> <tablerow index="sys_file_storage:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> <field index="name">fileadmin/ (auto-created)</field> <field index="description" type="NULL"></field> <field index="driver">Local</field> @@ -295,11 +366,11 @@ </sheet> </data> </T3FlexForms></field> - <field index="is_default">0</field> - <field index="is_browsable">1</field> - <field index="is_public">1</field> - <field index="is_writable">1</field> - <field index="is_online">1</field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> </fieldlist> <related index="rels" type="array"> <field index="configuration" type="array"> @@ -312,6 +383,74 @@ </field> </related> </tablerow> + <tablerow index="sys_file_metadata:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l10n_parent" type="integer">0</field> + <field index="file" type="integer">1</field> + <field index="title">Dummy image</field> + <field index="width" type="integer">400</field> + <field index="height" type="integer">300</field> + <field index="description">This is a dummy image.</field> + <field index="alternative">Photo of program code</field> + </fieldlist> + <related index="rels" type="array"> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">1</field> + <field index="l10n_parent" type="integer">1</field> + <field index="file" type="integer">1</field> + <field index="title">Beispiel Bild</field> + <field index="width" type="integer">0</field> + <field index="height" type="integer">0</field> + <field index="description">Nur ein Beispielbild.</field> + <field index="alternative">Foto von Programmcode</field> + </fieldlist> + <related index="rels" type="array"> + <field index="sys_language_uid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + </relations> + </field> + <field index="l10n_parent" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> </records> <files_fal type="array"> <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> @@ -319,254 +458,148 @@ <filename>typo3_image2.jpg</filename> <filemtime>1389878273</filemtime> <content base64="1"> -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 </content> <content_sha1>da9acdf1e105784a57bbffec9520969578287797</content_sha1> </file> - <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> - <filesize>5565</filesize> - <filename>typo3_image3.jpg</filename> - <filemtime>1392907534</filemtime> - <content base64="1"> -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 -</content> - <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> - </file> </files_fal> -</T3RecordDocument> \ No newline at end of file +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-rte-image-n-file-link.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml new file mode 100644 index 000000000000..660289ce7ed3 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>177</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Test content 2</title> + <size>179</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:4</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:4</recordRef> + <tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID> + <tokenValue>file:4</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image3.jpg</title> + <size>502</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="4" type="array"> + <uid>4</uid> + <pid>0</pid> + <title>Empty.html</title> + <size>534</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="2">1</item> + <item index="4">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + <table index="tt_content" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + <node index="subrow" type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </node> + </node> + </pagetree> + <files_fal type="array"> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + </file> + <file index="006f2bbed1bef099981ce4cb9a0f8e14" type="array"> + <filesize>92</filesize> + <filename>Empty.html</filename> + <filemtime>1400176659</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="tt_content:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content 2</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:4</field> + </fieldlist> + <related index="rels" type="array"> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array"> + <matchString>file:4</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:4</recordRef> + <tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID> + <tokenValue>file:4</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:81b8b33df54ef433f1cbc7c3e513e6c4}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="sys_file:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image3.jpg</field> + <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image3.jpg</field> + <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> + <field index="size" type="integer">5565</field> + <field index="creation_date" type="integer">1393346082</field> + <field index="modification_date" type="integer">1392907534</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:4" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">4</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">0</field> + <field index="type">1</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</field> + <field index="identifier_hash">ae03df120da87352822f4aae6d476086cb8c0cf8</field> + <field index="folder_hash">85051482e1ba204348a9b9f6c1a37069e77de027</field> + <field index="mime_type">text/html</field> + <field index="name">Empty.html</field> + <field index="sha1">4a53ba5b5a156b82e3efd443f9a402f8c6e6dd08</field> + <field index="size" type="integer">92</field> + <field index="creation_date" type="integer">1400176659</field> + <field index="modification_date" type="integer">1400176659</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + </records> + <files_fal type="array"> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + <content base64="1"> +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 +</content> + <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> + </file> + <file index="006f2bbed1bef099981ce4cb9a0f8e14" type="array"> + <filesize>92</filesize> + <filename>Empty.html</filename> + <filemtime>1400176659</filemtime> + <content><!DOCTYPE html> +<html> +<head> +<title>An empty template</title> +</head> +<body></body> +</html></content> + <content_sha1>4a53ba5b5a156b82e3efd443f9a402f8c6e6dd08</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php b/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php deleted file mode 100644 index eec6d7911242..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -use TYPO3\CMS\Core\Utility\GeneralUtility; - -/** - * Functional test for the Import - */ -abstract class AbstractImportTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase -{ - /** - * Path to a XML fixture dependent on the current database. - * @var string - */ - protected $fixturePath = __DIR__ . '/../Fixtures/ImportExportXml/'; - - /** - * @var array - */ - protected $coreExtensionsToLoad = ['impexp']; - - /** - * @var \TYPO3\CMS\Impexp\Import - */ - protected $import; - - /** - * Absolute path to files that must be removed - * after a test - handled in tearDown - * - * @var array - */ - protected $testFilesToDelete = []; - - /** - * Set up for initialization of the Import instance - */ - protected function setUp() - { - parent::setUp(); - - $this->import = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Impexp\Import::class); - $this->import->init(0, 'import'); - } - - /** - * Tear down for remove of the test files - */ - protected function tearDown() - { - foreach ($this->testFilesToDelete as $absoluteFileName) { - if (@is_file($absoluteFileName)) { - unlink($absoluteFileName); - } - } - parent::tearDown(); - } - - /** - * Test if the local filesystem is case sensitive - * - * @return bool - */ - protected function isCaseSensitiveFilesystem() - { - $caseSensitive = true; - $path = GeneralUtility::tempnam('aAbB'); - - // do the actual sensitivity check - if (@file_exists(strtoupper($path)) && @file_exists(strtolower($path))) { - $caseSensitive = false; - } - - // clean filesystem - unlink($path); - return $caseSensitive; - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php deleted file mode 100644 index c48516ab58c9..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItem; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/uploads/tx_impexpgroupfiles' - ]; - - /** - * @var array - */ - protected $testExtensionsToLoad = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/'; - - /** - * @test - */ - public function importGroupFileAndFileReferenceItem() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItem'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 1; - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelNotAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 0; - - $this->import->loadFile(__DIR__ . '/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelNotAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileNotExists(PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - - $expectedErrors = [ - 'Error: Record type tx_impexpgroupfiles_item is not allowed on pid 0' - ]; - $errors = $this->import->errorLog; - $this->assertSame($expectedErrors, $errors); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = -1; - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemButImagesNotIncluded() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItem'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php deleted file mode 100644 index e8af2288b65e..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemInFlexForm; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/uploads/tx_impexpgroupfiles' - ]; - /** - * @var array - */ - protected $testExtensionsToLoad = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/'; - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemInFlexForm() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item-in-ff.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemInFlexForm'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php new file mode 100644 index 000000000000..2b6547bc4f50 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php @@ -0,0 +1,64 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class GroupFileAndFileReferenceItemInFlexFormTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/uploads/tx_impexpgroupfiles' + ]; + + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' + ]; + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemInFlexForm() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php new file mode 100644 index 000000000000..7e4722a3b146 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php @@ -0,0 +1,165 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class GroupFileAndFileReferenceItemTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/uploads/tx_impexpgroupfiles' + ]; + + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' + ]; + + /** + * @test + */ + public function importGroupFileAndFileReferenceItem() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 1; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelNotAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 0; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileNotExists(PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + + $expectedErrors = [ + 'Error: Record type tx_impexpgroupfiles_item is not allowed on pid 0' + ]; + $errors = $subject->errorLog; + $this->assertSame($expectedErrors, $errors); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = -1; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemButImagesNotIncluded() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php deleted file mode 100644 index ba8ff55ac8f4..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\IrreTutorialRecords; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/'; - - /** - * @test - */ - public function importIrreRecords() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('irre-records.xml'), - 1 - ); - $this->import->importData(0); - - $this->assertAssertionDataSet('importIrreRecords'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php new file mode 100644 index 000000000000..ffb910cb9c1f --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php @@ -0,0 +1,49 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import\IrreTutorialRecords; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class IrreTutorialRecordsTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial', + ]; + + /** + * @test + */ + public function importIrreRecords() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/irre-records.xml', + 1 + ); + $subject->importData(0); + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 79eaf38e3c79..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContent; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContent() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContent'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Extensions/template_extension/Resources/Public/Templates/Empty.html', PATH_site . 'typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php new file mode 100644 index 000000000000..914c09ac5b98 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php @@ -0,0 +1,47 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentTest extends AbstractImportExportTestCase +{ + /** + * @test + */ + public function importPagesAndRelatedTtContent() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Extensions/template_extension/Resources/Public/Templates/Empty.html', PATH_site . 'typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 4b7f644a28ff..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,165 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems() - { - if (!$this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case insensitive filesystems.'); - } - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent-with-image.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems() - { - if ($this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case sensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/../../Fixtures/ImportExportXml/pages-and-ttcontent-with-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems() - { - if (!$this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case insensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems() - { - if ($this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case sensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesWithSpacesInPath() - { - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesWithSpacesInPath'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButNotIncluded() - { - $this->import->loadFile( - PATH_site . 'typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/' . $this->getDatabasePlatform() . '/pages-and-ttcontent-with-image-but-not-included.xml', - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButNotIncluded'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - * @group mysql - */ - public function importPagesAndRelatedTtContentWithImageWithForcedUids() - { - // @todo: Fix impexp / test with postgres: Probably, force uid's is not possible with postgres or needs - // @todo: to be adapted in somehow. - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml', 1); - $this->import->force_all_UIDS = true; - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImageWithForcedUids'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - - $expectedErrors = [ - 'Forcing uids of sys_file records is not supported! They will be imported as new records!' - ]; - $errors = $this->import->errorLog; - $this->assertSame($expectedErrors, $errors); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php deleted file mode 100644 index 43868127fa79..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInFilledDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/fileadmin/user_upload' - ]; - - /** - * @var array - */ - protected $pathsToLinkInTestInstance = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg' => 'fileadmin/user_upload/typo3_image2.jpg', - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithDifferentImageToExistingData() - { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithDifferentImageToExistingData'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithSameImageToExistingData() - { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithSameImageToExistingData'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php new file mode 100644 index 000000000000..3058a7783e6d --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php @@ -0,0 +1,202 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithImagesInEmptyDatabaseTest extends AbstractImportExportTestCase +{ + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if (!$this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case insensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if ($this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case sensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if (!$this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case insensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if ($this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case sensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesWithSpacesInPath() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButNotIncluded() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + // Files are parallel to the fixture .xml file in a folder - impexp tests for /../ not allowed in path, so we set an absolute path here + PATH_site . 'typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + * @group mysql + */ + public function importPagesAndRelatedTtContentWithImageWithForcedUids() + { + // @todo: Fix impexp / test with postgres: Probably, force uid's is not possible with postgres or needs + // @todo: to be adapted in somehow. + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml', + 1 + ); + $subject->force_all_UIDS = true; + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + + $expectedErrors = [ + 'Forcing uids of sys_file records is not supported! They will be imported as new records!' + ]; + $errors = $subject->errorLog; + $this->assertSame($expectedErrors, $errors); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php new file mode 100644 index 000000000000..64dae13df12a --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php @@ -0,0 +1,99 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithImagesInFilledDatabaseTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/fileadmin/user_upload' + ]; + + /** + * @var array + */ + protected $pathsToLinkInTestInstance = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg' => 'fileadmin/user_upload/typo3_image2.jpg', + ]; + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithDifferentImageToExistingData() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/FileAssertions/typo3_image2_01.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithSameImageToExistingData() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 6eff6a6b4f21..000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithRteImagesAndFileLink; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/fileadmin/_processed_' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithRteImagesAndFileLink() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent-with-rte-image-n-file-link.xml'), - 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithRteImagesAndFileLink'); - - $this->assertFileNotExists(PATH_site . 'fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php new file mode 100644 index 000000000000..13950337f5ef --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php @@ -0,0 +1,57 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithRteImagesAndFileLinkTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/fileadmin/_processed_' + ]; + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithRteImagesAndFileLink() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv'); + + $this->assertFileNotExists(PATH_site . 'fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + } +} -- GitLab