[TASK] Windows issues with long file names in Git sources 15/27815/3
authorOliver Hader <oliver@typo3.org>
Mon, 24 Feb 2014 14:21:18 +0000 (15:21 +0100)
committerOliver Hader <oliver.hader@typo3.org>
Mon, 24 Feb 2014 14:45:22 +0000 (15:45 +0100)
The recent DataHander functional tests integrate file names that
are very long since they contain a description of what actually
is expected in the accordant test assertion file.

However, Windows has a limit of 260 characters per file path.
The longest file path of the mentioned functional tests has been
223 characters and is now reduced to 166 characters.

Resolves: #56177
Releases: 6.2
Change-Id: I1490a3f0fae7ef40547d81e304cb98077ab6142b
Reviewed-on: https://review.typo3.org/27815
Reviewed-by: Marc Bastian Heinrichs
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
350 files changed:
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractLocalizationTestCase.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractTestCase.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/changeParentContentSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deleteParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/localizeParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyOnlyHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNAddHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNDeleteHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/LiveActionTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/Fixtures/MToNMMAsymmetric.xml [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/changeParentContentSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deleteParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/localizeParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyOnlyHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNAddHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNDeleteHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChild.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/LiveActionTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationKeepTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationSelectTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractLocalizationTestCase.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractTestCase.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/Fixtures/MToNMMAsymmetric.xml [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/AbstractActionTestCase.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/changeParentContentRecordSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/localizeParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyOnlyHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultElements.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultPages.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/LiveActionTest.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/MToNMMAsymmetricLocalizationKeepTest.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/MToNMMAsymmetricLocalizationSelectTest.php [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothsOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentOfRelationToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentRecordSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageRecordSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecords.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContents.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContentRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPage.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/AbstractOneToNTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/AbstractTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/changeParentContentSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildrenNDiscardCopiedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildrenNDiscardLocalizedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deleteParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deleteParentContentNDiscardDeletedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/localizeParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyOnlyHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNAddHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNDeleteHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChildNDiscardAll.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChildNDiscardModifiedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/WorkspaceActionTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/Fixtures/OneToNCSV.xml [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/Fixtures/OneToNForeignField.xml [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/changeParentContentSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildrenNDiscardCopiedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildrenNDiscardLocalizedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deleteParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deleteParentContentNDiscardDeletedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/localizeParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyOnlyHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNAddHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNDeleteHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChild.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChildNDiscardAll.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChildNDiscardModifiedParent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/WorkspaceActionTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/MToNMMTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/OneToNCSVTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/OneToNForeignFieldTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractOneToNTestCase.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractTestCase.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/WorkspaceActionTest.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/Fixtures/OneToNCSV.xml [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/Fixtures/OneToNForeignField.xml [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/AbstractActionTestCase.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/changeParentContentRecordSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/localizeParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyOnlyHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultElements.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultPages.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/WorkspaceActionTest.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/MToNMMTest.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/OneToNCSVTest.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/OneToNForeignFieldTest.php [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryNAddRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryNCreateRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndAddCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndCreateCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentNAddRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentNCreateRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndAddCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndCreateCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothsOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentOfRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentOfRelationToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentRecordSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageRecordSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createAndCopyContentRecordAndDiscardCopiedContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentNDiscardCreatedContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecordAndDiscardCreatedContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecords.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContents.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createNCopyContentNDiscardCopiedContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContent.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContentRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPage.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPage.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndChangeSorting.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndCreatePageRecordAfterMovedPageRecord.csv [deleted file]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageToDifferentPageNChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageToDifferentPageNCreatePageAfterMovedPage.csv [new file with mode: 0644]

diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractLocalizationTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractLocalizationTestCase.php
new file mode 100644 (file)
index 0000000..86b0529
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE;
+
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2010 Oliver Hader <oliver@typo3.org>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+require_once(dirname(__FILE__). '/AbstractTestCase.php');
+
+use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
+/**
+ * Generic test helpers for localization tests
+ *
+ */
+abstract class AbstractLocalizationTestCase extends AbstractTestCase {
+       const COMMAND_LocalizeSynchronize = 'inlineLocalizeSynchronize';
+       const COMMAND_LocalizeSynchronize_Localize = 'localize';
+       const COMMAND_LocalizeSynchronize_Synchronize = 'synchronize';
+
+       const VALUE_LocalizationMode_Keep = 'keep';
+       const VALUE_LocalizationMode_Select = 'select';
+
+       const TABLE_Hotel = 'tx_irretutorial_mnmmasym_hotel';
+       const TABLE_Offer = 'tx_irretutorial_mnmmasym_offer';
+       const TABLE_Price = 'tx_irretutorial_mnmmasym_price';
+       const TABLE_Relation_Hotel_Offer = 'tx_irretutorial_mnmmasym_hotel_offer_rel';
+       const TABLE_Relation_Offer_Price = 'tx_irretutorial_mnmmasym_offer_price_rel';
+
+       const FIELD_Hotel_Offers = 'offers';
+       const FIELD_Offer_Hotels = 'hotels';
+       const FIELD_Offer_Prices = 'prices';
+       const FIELD_Price_Offers = 'offers';
+
+       /**
+        * @var array
+        */
+       protected $structure = array(
+               self::TABLE_Hotel => array(self::FIELD_Hotel_Offers),
+               self::TABLE_Offer => array(self::FIELD_Offer_Hotels, self::FIELD_Offer_Prices),
+               self::TABLE_Price => array(self::FIELD_Price_Offers),
+       );
+
+       /**
+        * Asserts that accordant localizations exist.
+        *
+        * @param array $tables Table names with list of ids to be edited
+        * @param integer $languageId The sys_language_id
+        * @param boolean $expected Expected result of assertion
+        * @return void
+        */
+       protected function assertLocalizations(array $tables, $languageId = self::VALUE_LanguageId, $expected = TRUE) {
+               foreach ($tables as $tableName => $idList) {
+                       $ids = GeneralUtility::trimExplode(',', $idList, TRUE);
+                       foreach ($ids as $id) {
+                               $localization = BackendUtility::getRecordLocalization($tableName, $id, $languageId);
+                               $isLocalization = is_array($localization) && count($localization);
+                               $this->assertTrue(
+                                       !($expected XOR $isLocalization),
+                                       'Localization for ' . $tableName . ':' . $id . ($expected ? ' not' : '') . ' available'
+                               );
+                       }
+               }
+       }
+
+       /**
+        * Gets the id of the localized record of a language parent.
+        *
+        * @param string $tableName
+        * @param integer $id
+        * @param integer $languageId
+        * @return boolean
+        */
+       protected function getLocalizationId($tableName, $id, $languageId = self::VALUE_LanguageId) {
+               $localization = BackendUtility::getRecordLocalization($tableName, $id, $languageId);
+               if (is_array($localization) && count($localization)) {
+                       return $localization[0]['uid'];
+               }
+
+               return FALSE;
+       }
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/AbstractTestCase.php
new file mode 100644 (file)
index 0000000..6c8ebe0
--- /dev/null
@@ -0,0 +1,442 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE;
+
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2010 Oliver Hader <oliver@typo3.org>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
+/**
+ * Generic test helpers.
+ *
+ */
+abstract class AbstractTestCase extends \TYPO3\CMS\Core\Tests\FunctionalTestCase {
+       const VALUE_LanguageId = 2;
+
+       const TABLE_Pages = 'pages';
+
+       const COMMAND_Copy = 'copy';
+       const COMMAND_Localize = 'localize';
+       const COMMAND_Delete = 'delete';
+
+       const PROPERTY_LocalizeReferencesAtParentLocalization = 'localizeReferencesAtParentLocalization';
+       const BEHAVIOUR_LocalizeChildrenAtParentLocalization = 'localizeChildrenAtParentLocalization';
+       const BEHAVIOUR_LocalizationMode = 'localizationMode';
+
+       protected $testExtensionsToLoad = array('typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial');
+
+       /**
+        * @var integer
+        */
+       private $expectedLogEntries = 0;
+
+       /**
+        * Sets up this test case.
+        *
+        * @return void
+        */
+       public function setUp() {
+               parent::setUp();
+
+               $this->setUpBackendUserFromFixture(1);
+               \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeLanguageObject();
+
+               $this->expectedLogEntries = 0;
+
+               $GLOBALS['TYPO3_CONF_VARS']['SYS']['sqlDebug'] = 1;
+
+               $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/core/Tests/Functional/Fixtures/pages.xml');
+               $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/core/Tests/Functional/Fixtures/sys_language.xml');
+       }
+
+       /**
+        * Tears down this test case.
+        *
+        * @return void
+        */
+       public function tearDown() {
+               $this->assertNoLogEntries();
+
+               $this->expectedLogEntries = 0;
+
+               parent::tearDown();
+       }
+
+       /**
+        * Sets the number of expected log entries.
+        *
+        * @param integer $count
+        * @return void
+        */
+       protected function setExpectedLogEntries($count) {
+               $count = (int)$count;
+
+               if ($count > 0) {
+                       $this->expectedLogEntries = $count;
+               }
+       }
+
+       /**
+        * @param string $command
+        * @param mixed $value
+        * @param array $tables Table names with list of ids to be edited
+        * @return array
+        */
+       protected function getElementStructureForCommands($command, $value, array $tables) {
+               $commandStructure = array();
+
+               foreach ($tables as $tableName => $idList) {
+                       $ids = GeneralUtility::trimExplode(',', $idList, TRUE);
+                       foreach ($ids as $id) {
+                               $commandStructure[$tableName][$id] = array(
+                                       $command => $value
+                               );
+                       }
+               }
+
+               return $commandStructure;
+       }
+
+       /**
+        * Simulates executing commands by using t3lib_TCEmain.
+        *
+        * @param  array $elements The cmdmap to be delivered to DataHandler
+        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
+        */
+       protected function simulateCommandByStructure(array $elements) {
+               $tceMain = $this->getTceMain();
+               $tceMain->start(array(), $elements);
+               $tceMain->process_cmdmap();
+
+               return $tceMain;
+       }
+
+       /**
+        * @param string $command
+        * @param mixed $value
+        * @param array $tables Table names with list of ids to be edited
+        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
+        */
+       protected function simulateCommand($command, $value, array $tables) {
+               return $this->simulateCommandByStructure(
+                       $this->getElementStructureForCommands($command, $value, $tables)
+               );
+       }
+
+       /**
+        * Gets the last log entry.
+        *
+        * @return array
+        */
+       protected function getLastLogEntryMessage() {
+               $message = '';
+
+               $logEntries = $this->getDatabase()->exec_SELECTgetRows('*', 'sys_log', 'error IN (1,2)', '', '', 1);
+
+               if (is_array($logEntries) && count($logEntries)) {
+                       $message = $logEntries[0]['details'];
+               }
+
+               return $message;
+       }
+
+       /**
+        * @param  array $itemArray
+        * @return array
+        */
+       protected function getElementsByItemArray(array $itemArray) {
+               $elements = array();
+
+               foreach ($itemArray as $item) {
+                       $elements[$item['table']][$item['id']] = BackendUtility::getRecord($item['table'], $item['id']);
+               }
+
+               return $elements;
+       }
+
+       /**
+        * Gets all records of a table.
+        *
+        * @param string $table Name of the table
+        * @param string $indexField
+        * @return array
+        */
+       protected function getAllRecords($table, $indexField = 'uid') {
+               return $this->getDatabase()->exec_SELECTgetRows('*', $table, '1=1', '', '', '', $indexField);
+       }
+
+       /**
+        * Gets the TCE configuration of a field.
+        *
+        * @param  $tableName
+        * @param  $fieldName
+        * @return array
+        */
+       protected function getTcaFieldConfiguration($tableName, $fieldName) {
+               if (!isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
+                       $this->fail('TCA definition for field ' . $tableName . '.' . $fieldName . ' not available');
+               }
+
+               return $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'];
+       }
+
+       /**
+        * @param string $tableName
+        * @param string $fieldName
+        * @param string $propertyName
+        * @param mixed $value
+        * @return void
+        */
+       protected function setTcaFieldConfiguration($tableName, $fieldName, $propertyName, $value) {
+               if (isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
+                       $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'][$propertyName] = $value;
+               }
+       }
+
+       /**
+        * @param string $tableName
+        * @param string $fieldName
+        * @param string $behaviourName
+        * @param mixed $value
+        * @return void
+        */
+       protected function setTcaFieldConfigurationBehaviour($tableName, $fieldName, $behaviourName, $value) {
+               if (isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
+                       if (!isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'])) {
+                               $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'] = array();
+                       }
+
+                       $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'][$behaviourName] = $value;
+               }
+       }
+
+       /**
+        * Gets the field value of a record.
+        *
+        * @param  $tableName
+        * @param  $id
+        * @param  $fieldName
+        * @return string
+        */
+       protected function getFieldValue($tableName, $id, $fieldName) {
+               $record = BackendUtility::getRecord($tableName, $id, $fieldName);
+
+               if (!is_array($record)) {
+                       $this->fail('Record ' . $tableName . ':' . $id . ' not available');
+               }
+
+               return $record[$fieldName];
+       }
+
+       /**
+        * Gets instance of \TYPO3\CMS\Core\Database\RelationHandler.
+        *
+        * @return \TYPO3\CMS\Core\Database\RelationHandler
+        */
+       protected function getLoadDbGroup() {
+               $loadDbGroup = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Database\\RelationHandler');
+
+               return $loadDbGroup;
+       }
+
+       /**
+        * Gets an instance of \TYPO3\CMS\Core\DataHandling\DataHandler.
+        *
+        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
+        */
+       protected function getTceMain() {
+               $tceMain = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+               return $tceMain;
+       }
+
+       /**
+        * Assert that no sys_log entries had been written.
+        *
+        * @return void
+        */
+       protected function assertNoLogEntries() {
+               $logEntries = $this->getLogEntries();
+
+               if (count($logEntries) > $this->expectedLogEntries) {
+                       var_dump(array_values($logEntries));
+                       ob_flush();
+                       $this->fail('The sys_log table contains unexpected entries.');
+               } elseif (count($logEntries) < $this->expectedLogEntries) {
+                       $this->fail('Expected count of sys_log entries no reached.');
+               }
+       }
+
+       /**
+        * Asserts the correct order of elements.
+        *
+        * @param string $table
+        * @param string $field
+        * @param array $expectedOrderOfIds
+        * @param string $message
+        * @return void
+        */
+       protected function assertSortingOrder($table, $field, $expectedOrderOfIds, $message) {
+               $expectedOrderOfIdsCount = count($expectedOrderOfIds);
+               $elements = $this->getAllRecords($table);
+
+               for ($i = 0; $i < $expectedOrderOfIdsCount-1; $i++) {
+                       $this->assertLessThan(
+                               $elements[$expectedOrderOfIds[$i+1]][$field],
+                               $elements[$expectedOrderOfIds[$i]][$field],
+                               $message
+                       );
+               }
+       }
+
+       /**
+        * Asserts reference index elements.
+        *
+        * @param array $assertions
+        * @param boolean $expected
+        */
+       protected function assertReferenceIndex(array $assertions, $expected = TRUE) {
+               $references = $this->getAllRecords('sys_refindex', 'hash');
+
+               foreach ($assertions as $parent => $children) {
+                       foreach ($children as $child) {
+                               $parentItems = explode(':', $parent);
+                               $childItems = explode(':', $child);
+
+                               $assertion = array(
+                                       'tablename' => $parentItems[0],
+                                       'recuid' => $parentItems[1],
+                                       'field' => $parentItems[2],
+                                       'ref_table' => $childItems[0],
+                                       'ref_uid' => $childItems[1],
+                               );
+
+                               $this->assertTrue(
+                                       ($expected === $this->executeAssertionOnElements($assertion, $references)),
+                                       'Expected reference index element for ' . $parent . ' -> ' . $child
+                               );
+                       }
+               }
+       }
+
+       /**
+        * @param string $parentTableName
+        * @param integer $parentId
+        * @param string $parentFieldName
+        * @param array $assertions
+        * @param string $mmTable
+        * @param boolean $expected
+        * @return void
+        */
+       protected function assertChildren($parentTableName, $parentId, $parentFieldName, array $assertions, $mmTable = '', $expected = TRUE) {
+               $tcaFieldConfiguration = $this->getTcaFieldConfiguration($parentTableName, $parentFieldName);
+
+               $loadDbGroup = $this->getLoadDbGroup();
+               $loadDbGroup->start(
+                       $this->getFieldValue($parentTableName, $parentId, $parentFieldName),
+                       $tcaFieldConfiguration['foreign_table'],
+                       $mmTable,
+                       $parentId,
+                       $parentTableName,
+                       $tcaFieldConfiguration
+               );
+
+               $elements = $this->getElementsByItemArray($loadDbGroup->itemArray);
+
+               foreach ($assertions as $index => $assertion) {
+                       $this->assertTrue(
+                               ($expected === $this->executeAssertionOnElements($assertion, $elements)),
+                               'Assertion #' . $index . ' failed'
+                       );
+               }
+       }
+
+       /**
+        * Gets log entries from the sys_log
+        *
+        * @return array
+        */
+       protected function getLogEntries() {
+               return $this->getDatabase()->exec_SELECTgetRows('*', 'sys_log', 'error IN (1,2)');
+       }
+
+       /**
+        * @param  array $assertion
+        * @param  array $elements
+        * @return boolean
+        */
+       protected function executeAssertionOnElements(array $assertion, array $elements) {
+               if (!empty($assertion['tableName'])) {
+                       $tableName = $assertion['tableName'];
+                       unset($assertion['tableName']);
+                       $elements = (array) $elements[$tableName];
+               }
+
+               foreach ($elements as $element) {
+                       $result = FALSE;
+
+                       foreach ($assertion as $field => $value) {
+                               if ($element[$field] == $value) {
+                                       $result = TRUE;
+                               } else {
+                                       $result = FALSE;
+                                       break;
+                               }
+                       }
+
+                       if ($result === TRUE) {
+                               return TRUE;
+                       }
+               }
+
+               return FALSE;
+       }
+
+       /**
+        * @param mixed $element
+        * @return string
+        */
+       protected function elementToString($element) {
+               $result = preg_replace(
+                       '#\n+#',
+                       ' ',
+                       var_export($element, TRUE)
+               );
+
+               return $result;
+       }
+
+       /**
+        * @return string
+        */
+       protected function combine() {
+               return implode(':', func_get_args());
+       }
+
+       /**
+        * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
+        */
+       protected function getBackendUser() {
+               return $GLOBALS['BE_USER'];
+       }
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/AbstractActionTestCase.php
new file mode 100644 (file)
index 0000000..f6c6750
--- /dev/null
@@ -0,0 +1,429 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\CSV;
+
+/***************************************************************
+ * Copyright notice
+ *
+ * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
+ * All rights reserved
+ *
+ * This script is part of the TYPO3 project. The TYPO3 project is
+ * free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * The GNU General Public License can be found at
+ * http://www.gnu.org/copyleft/gpl.html.
+ *
+ * This script is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+require_once dirname(dirname(dirname(__FILE__))) . '/AbstractDataHandlerActionTestCase.php';
+
+/**
+ * Functional test for the DataHandler
+ */
+abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase {
+
+       const VALUE_PageId = 89;
+       const VALUE_PageIdTarget = 90;
+       const VALUE_PageIdWebsite = 1;
+       const VALUE_ContentIdFirst = 297;
+       const VALUE_ContentIdLast = 298;
+       const VALUE_LanguageId = 1;
+
+       const TABLE_Page = 'pages';
+       const TABLE_Content = 'tt_content';
+       const TABLE_Hotel = 'tx_irretutorial_1ncsv_hotel';
+       const TABLE_Offer = 'tx_irretutorial_1ncsv_offer';
+
+       const FIELD_ContentHotel = 'tx_irretutorial_1ncsv_hotels';
+       const FIELD_HotelOffer = 'offers';
+
+       /**
+        * @var string
+        */
+       protected $dataSetDirectory = 'typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/';
+
+       public function setUp() {
+               parent::setUp();
+               $this->importScenarioDataSet('LiveDefaultPages');
+               $this->importScenarioDataSet('LiveDefaultElements');
+
+               $this->setUpFrontendRootPage(1, array('typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts'));
+       }
+
+       /**
+        * Parent content records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createParentContentRecord.csv
+        */
+       public function createParentContent() {
+               $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('createParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentContentRecord.csv
+        */
+       public function modifyParentContent() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/deleteParentContentRecord.csv
+        */
+       public function deleteParentContent() {
+               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('deleteParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/copyParentContentRecord.csv
+        */
+       public function copyParentContent() {
+               $newTableIds = $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
+               $this->assertAssertionDataSet('copyParentContent');
+
+               $newContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/localizeParentContentRecord.csv
+        */
+       public function localizeParentContent() {
+               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('[Translate to Dansk:] Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/changeParentContentRecordSorting.csv
+        */
+       public function changeParentContentSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('changeParentContentSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/moveParentContentRecordToDifferentPage.csv
+        */
+       public function moveParentContentToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('moveParentContentToDifferentPage');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv
+        */
+       public function moveParentContentToDifferentPageAndChangeSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('moveParentContentToDifferentPageNChangeSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', array('Regular Element #2', 'Regular Element #1'));
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * Page records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyPageRecord.csv
+        */
+       public function modifyPage() {
+               $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyPage');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Page, 'title', 'Testing #1');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/deletePageRecord.csv
+        */
+       public function deletePage() {
+               $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId);
+               $this->assertAssertionDataSet('deletePage');
+
+               $response = $this->getFrontendResponse(self::VALUE_PageId, 0, 0, 0, FALSE);
+               $this->assertContains('PageNotFoundException', $response->getError());
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/copyPageRecord.csv
+        */
+       public function copyPage() {
+               $newTableIds = $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('copyPage');
+
+               $newPageId = $newTableIds[self::TABLE_Page][self::VALUE_PageId];
+               $responseContent = $this->getFrontendResponse($newPageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2', 'Hotel #1'));
+       }
+
+       /**
+        * IRRE Child Records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createParentContentWithHotelAndOfferChildren() {
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('createParentContentNHotelNOfferChildren');
+
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createAndCopyParentContentWithHotelAndOfferChildren() {
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
+               $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId);
+               $this->assertAssertionDataSet('createNCopyParentContentNHotelNOfferChildren');
+
+               $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId];
+               $copiedHotelId = $copiedTableIds[self::TABLE_Hotel][$newHotelId];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $copiedContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Hotel . ':' . $copiedHotelId, self::FIELD_HotelOffer,
+                       self::TABLE_Offer, 'title', 'Offer #1'
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createAndLocalizeParentContentWithHotelAndOfferChildren() {
+               // @todo Localizing the new child records is broken in the Core
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
+               $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('createNLocalizeParentContentNHotelNOfferChildren');
+
+               $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId];
+               $localizedHotelId = $localizedTableIds[self::TABLE_Hotel][$newHotelId];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
+
+               // @todo Does not work since children don't point to live-default record
+               /*
+                       $this->assertResponseContentStructureHasRecords(
+                               $responseContent, self::TABLE_Content . ':' . $localizedContentId, self::FIELD_ContentHotel,
+                               self::TABLE_Hotel, 'title', '[Translate to Dansk:] Hotel #1'
+                       );
+                       $this->assertResponseContentStructureHasRecords(
+                               $responseContent, self::TABLE_Hotel . ':' . $localizedHotelId, self::FIELD_HotelOffer,
+                               self::TABLE_Offer, 'title', '[Translate to Dansk:] Offer #1'
+                       );
+               */
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyOnlyHotelChildRecord.csv
+        */
+       public function modifyOnlyHotelChild() {
+               $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyOnlyHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv
+        */
+       public function modifyParentAndChangeHotelChildrenSorting() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array(self::FIELD_ContentHotel => '4,3'));
+               $this->assertAssertionDataSet('modifyParentNChangeHotelChildrenSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #2', 'Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv
+        */
+       public function modifyParentWithHotelChild() {
+               $this->actionService->modifyRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'),
+                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentNHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv
+        */
+       public function modifyParentAndAddHotelChild() {
+               $this->actionService->modifyRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Hotel => array('uid' => '__NEW', 'title' => 'Hotel #2'),
+                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdLast, self::FIELD_ContentHotel => '5,__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentNAddHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv
+        */
+       public function modifyParentAndDeleteHotelChild() {
+               $this->actionService->modifyRecord(
+                       self::TABLE_Content,
+                       self::VALUE_ContentIdFirst,
+                       array(self::FIELD_ContentHotel => '3'),
+                       array(self::TABLE_Hotel => array(4))
+               );
+               $this->assertAssertionDataSet('modifyParentNDeleteHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureDoesNotHaveRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #2'
+               );
+       }
+
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/changeParentContentSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/changeParentContentSorting.csv
new file mode 100644 (file)
index 0000000..0a7647e
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,768,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5"
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,16,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,32,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,4,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,8,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,16,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,64,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,256,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,512,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,768,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,1024,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,1280,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyPage.csv
new file mode 100644 (file)
index 0000000..6750c48
--- /dev/null
@@ -0,0 +1,47 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
+,91,90,256,0,0,0,0,0,0,Relations
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,91,256,0,0,0,0,0,0,0,0,"Regular Element #2",0,6
+,300,91,128,0,0,0,0,0,0,0,0,"Regular Element #1",0,"7,8"
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,91,64,0,0,0,0,0,0,0,0,"Hotel #1",9
+,7,91,256,0,0,0,0,0,0,0,0,"Hotel #1","10,11"
+,8,91,128,0,0,0,0,0,0,0,0,"Hotel #2",12
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+,9,91,32,0,0,0,0,0,0,0,0,"Offer #1.1",14
+,10,91,256,0,0,0,0,0,0,0,0,"Offer #1.1","15,16,17"
+,11,91,128,0,0,0,0,0,0,0,0,"Offer #1.2","18,19"
+,12,91,64,0,0,0,0,0,0,0,0,"Offer #2.1",20
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,14,91,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,15,91,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,16,91,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,17,91,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,18,91,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,19,91,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,20,91,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/copyParentContent.csv
new file mode 100644 (file)
index 0000000..8978eb3
--- /dev/null
@@ -0,0 +1,28 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,128,0,0,0,0,0,0,0,0,"Regular Element #2 (copy 1)",0,6
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,64,0,0,0,0,0,0,0,0,"Hotel #1",9
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+,9,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",14
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,14,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..c9c8ce2
--- /dev/null
@@ -0,0 +1,30 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
+,300,89,64,0,0,0,0,0,0,0,0,"Testing #1 (copy 1)",0,7
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
+,7,89,32,0,0,0,0,0,0,0,0,"Hotel #1",10
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
+,10,89,16,0,0,0,0,0,0,0,0,"Offer #1",
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..6661621
--- /dev/null
@@ -0,0 +1,29 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
+,300,89,192,0,1,299,0,0,0,0,0,"[Translate to Dansk:] Testing #1",0,7
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
+,7,89,48,0,1,6,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContent.csv
new file mode 100644 (file)
index 0000000..2064224
--- /dev/null
@@ -0,0 +1,5 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..5e7e0da
--- /dev/null
@@ -0,0 +1,27 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deletePage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deletePage.csv
new file mode 100644 (file)
index 0000000..c6f77db
--- /dev/null
@@ -0,0 +1,30 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,1000000000,1,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deleteParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/deleteParentContent.csv
new file mode 100644 (file)
index 0000000..2b44cf0
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/localizeParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/localizeParentContent.csv
new file mode 100644 (file)
index 0000000..7c46430
--- /dev/null
@@ -0,0 +1,26 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+,299,89,768,0,1,298,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,6
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,96,0,1,5,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyOnlyHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyOnlyHotelChild.csv
new file mode 100644 (file)
index 0000000..fbc241c
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyPage.csv
new file mode 100644 (file)
index 0000000..ed4fd56
--- /dev/null
@@ -0,0 +1,6 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,"Testing #1"
+,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentContent.csv
new file mode 100644 (file)
index 0000000..074640b
--- /dev/null
@@ -0,0 +1,4 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Testing #1",,5
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNAddHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNAddHotelChild.csv
new file mode 100644 (file)
index 0000000..d3f5267
--- /dev/null
@@ -0,0 +1,25 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5,6"
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+,6,89,32,0,0,0,0,0,0,0,0,"Hotel #2",
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv
new file mode 100644 (file)
index 0000000..f82c638
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"4,3"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNDeleteHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNDeleteHotelChild.csv
new file mode 100644 (file)
index 0000000..1bef707
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,3
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/modifyParentNHotelChild.csv
new file mode 100644 (file)
index 0000000..fbc241c
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPage.csv
new file mode 100644 (file)
index 0000000..80be9a1
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv
new file mode 100644 (file)
index 0000000..73b4085
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,90,512,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,90,64,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,90,128,0,0,0,0,0,0,0,0,"Hotel #2",7
+,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,90,32,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,90,64,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,90,128,0,0,0,0,0,0,0,0,"Offer #2.1",12
+,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,90,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,90,8,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,90,16,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,90,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,90,64,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,90,128,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultElements.csv
new file mode 100644 (file)
index 0000000..4a196a4
--- /dev/null
@@ -0,0 +1,28 @@
+"sys_language",,,,,,,,,,,,,,,
+,"uid","pid","hidden","title","flag",,,,,,,,,,
+,1,0,0,"Dansk","dk",,,,,,,,,,
+,2,0,0,"Deutsch","de",,,,,,,,,,
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5"
+tx_irretutorial_1ncsv_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
+,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2","7"
+,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1","8"
+tx_irretutorial_1ncsv_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
+,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
+,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
+,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1","12"
+,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1","13"
+tx_irretutorial_1ncsv_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
+,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
+,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
+,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
+,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
+,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/Scenario/LiveDefaultPages.csv
new file mode 100644 (file)
index 0000000..17b04d4
--- /dev/null
@@ -0,0 +1,6 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/LiveActionTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/LiveActionTest.php
new file mode 100644 (file)
index 0000000..5fa5731
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\CSV;
+
+/***************************************************************
+ * Copyright notice
+ *
+ * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
+ * All rights reserved
+ *
+ * This script is part of the TYPO3 project. The TYPO3 project is
+ * free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * The GNU General Public License can be found at
+ * http://www.gnu.org/copyleft/gpl.html.
+ *
+ * This script is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+require_once dirname(__FILE__) . '/AbstractActionTestCase.php';
+
+/**
+ * Functional test for the DataHandler
+ */
+class LiveActionTest extends AbstractActionTestCase {
+
+       public function setUp() {
+               parent::setUp();
+               $this->backendUser->workspace = 0;
+       }
+
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/Fixtures/MToNMMAsymmetric.xml b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/Fixtures/MToNMMAsymmetric.xml
new file mode 100644 (file)
index 0000000..9c5655f
--- /dev/null
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<dataset>
+       <!-- Tabelle tx_irretutorial_mnmmasym_hotel -->
+       <tx_irretutorial_mnmmasym_hotel>
+               <uid>1</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>256</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>Rosengarten Hotels Appartment</title>
+               <offers>2</offers>
+       </tx_irretutorial_mnmmasym_hotel>
+       <!-- Tabelle tx_irretutorial_mnmmasym_hotel_offer_rel -->
+       <tx_irretutorial_mnmmasym_hotel_offer_rel>
+               <uid>1</uid>
+               <uid_local>1</uid_local>
+               <uid_foreign>1</uid_foreign>
+               <tablenames></tablenames>
+               <sorting>1</sorting>
+               <sorting_foreign>0</sorting_foreign>
+               <ident></ident>
+       </tx_irretutorial_mnmmasym_hotel_offer_rel>
+       <tx_irretutorial_mnmmasym_hotel_offer_rel>
+               <uid>2</uid>
+               <uid_local>1</uid_local>
+               <uid_foreign>2</uid_foreign>
+               <tablenames></tablenames>
+               <sorting>2</sorting>
+               <sorting_foreign>0</sorting_foreign>
+               <ident></ident>
+       </tx_irretutorial_mnmmasym_hotel_offer_rel>
+       <!-- Tabelle tx_irretutorial_mnmmasym_offer -->
+       <tx_irretutorial_mnmmasym_offer>
+               <uid>1</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>256</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>Wellness &amp; Beauty Week</title>
+               <hotels>0</hotels>
+               <prices>1</prices>
+       </tx_irretutorial_mnmmasym_offer>
+       <tx_irretutorial_mnmmasym_offer>
+               <uid>2</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>128</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>&quot;Experience it&quot; Week</title>
+               <hotels>0</hotels>
+               <prices>2</prices>
+       </tx_irretutorial_mnmmasym_offer>
+       <!-- Tabelle tx_irretutorial_mnmmasym_offer_price_rel -->
+       <tx_irretutorial_mnmmasym_offer_price_rel>
+               <uid>1</uid>
+               <uid_local>2</uid_local>
+               <uid_foreign>2</uid_foreign>
+               <tablenames></tablenames>
+               <sorting>1</sorting>
+               <sorting_foreign>0</sorting_foreign>
+               <ident></ident>
+       </tx_irretutorial_mnmmasym_offer_price_rel>
+       <tx_irretutorial_mnmmasym_offer_price_rel>
+               <uid>2</uid>
+               <uid_local>2</uid_local>
+               <uid_foreign>3</uid_foreign>
+               <tablenames></tablenames>
+               <sorting>2</sorting>
+               <sorting_foreign>0</sorting_foreign>
+               <ident></ident>
+       </tx_irretutorial_mnmmasym_offer_price_rel>
+       <tx_irretutorial_mnmmasym_offer_price_rel>
+               <uid>3</uid>
+               <uid_local>1</uid_local>
+               <uid_foreign>1</uid_foreign>
+               <tablenames></tablenames>
+               <sorting>1</sorting>
+               <sorting_foreign>0</sorting_foreign>
+               <ident></ident>
+       </tx_irretutorial_mnmmasym_offer_price_rel>
+       <!-- Tabelle tx_irretutorial_mnmmasym_price -->
+       <tx_irretutorial_mnmmasym_price>
+               <uid>1</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>256</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>Season from January-December</title>
+               <price>400.00</price>
+               <offers>0</offers>
+       </tx_irretutorial_mnmmasym_price>
+       <tx_irretutorial_mnmmasym_price>
+               <uid>2</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>128</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>Season from January-June</title>
+               <price>300.00</price>
+               <offers>0</offers>
+       </tx_irretutorial_mnmmasym_price>
+       <tx_irretutorial_mnmmasym_price>
+               <uid>3</uid>
+               <pid>1</pid>
+               <tstamp>1250000000</tstamp>
+               <sys_language_uid>0</sys_language_uid>
+               <l18n_parent>0</l18n_parent>
+               <sorting>64</sorting>
+               <deleted>0</deleted>
+               <hidden>0</hidden>
+               <t3ver_oid>0</t3ver_oid>
+               <t3ver_id>0</t3ver_id>
+               <t3ver_wsid>0</t3ver_wsid>
+               <t3ver_label></t3ver_label>
+               <t3ver_state>0</t3ver_state>
+               <t3ver_stage>0</t3ver_stage>
+               <t3ver_count>0</t3ver_count>
+               <t3ver_tstamp>0</t3ver_tstamp>
+               <t3ver_move_id>0</t3ver_move_id>
+               <t3_origuid>0</t3_origuid>
+               <title>Season from June-December</title>
+               <price>500.00</price>
+               <offers>0</offers>
+       </tx_irretutorial_mnmmasym_price>
+</dataset>
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/AbstractActionTestCase.php
new file mode 100644 (file)
index 0000000..a5f2948
--- /dev/null
@@ -0,0 +1,429 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\ForeignField;
+
+/***************************************************************
+ * Copyright notice
+ *
+ * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
+ * All rights reserved
+ *
+ * This script is part of the TYPO3 project. The TYPO3 project is
+ * free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * The GNU General Public License can be found at
+ * http://www.gnu.org/copyleft/gpl.html.
+ *
+ * This script is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+require_once dirname(dirname(dirname(__FILE__))) . '/AbstractDataHandlerActionTestCase.php';
+
+/**
+ * Functional test for the DataHandler
+ */
+abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase {
+
+       const VALUE_PageId = 89;
+       const VALUE_PageIdTarget = 90;
+       const VALUE_PageIdWebsite = 1;
+       const VALUE_ContentIdFirst = 297;
+       const VALUE_ContentIdLast = 298;
+       const VALUE_LanguageId = 1;
+
+       const TABLE_Page = 'pages';
+       const TABLE_Content = 'tt_content';
+       const TABLE_Hotel = 'tx_irretutorial_1nff_hotel';
+       const TABLE_Offer = 'tx_irretutorial_1nff_offer';
+
+       const FIELD_ContentHotel = 'tx_irretutorial_1nff_hotels';
+       const FIELD_HotelOffer = 'offers';
+
+       /**
+        * @var string
+        */
+       protected $dataSetDirectory = 'typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/';
+
+       public function setUp() {
+               parent::setUp();
+               $this->importScenarioDataSet('LiveDefaultPages');
+               $this->importScenarioDataSet('LiveDefaultElements');
+
+               $this->setUpFrontendRootPage(1, array('typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts'));
+       }
+
+       /**
+        * Parent content records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createParentContentRecord.csv
+        */
+       public function createParentContent() {
+               $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('createParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentContentRecord.csv
+        */
+       public function modifyParentContent() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/deleteParentContentRecord.csv
+        */
+       public function deleteParentContent() {
+               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('deleteParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/copyParentContentRecord.csv
+        */
+       public function copyParentContent() {
+               $newTableIds = $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
+               $this->assertAssertionDataSet('copyParentContent');
+
+               $newContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/localizeParentContentRecord.csv
+        */
+       public function localizeParentContent() {
+               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeParentContent');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('[Translate to Dansk:] Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/changeParentContentRecordSorting.csv
+        */
+       public function changeParentContentSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('changeParentContentSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/moveParentContentRecordToDifferentPage.csv
+        */
+       public function moveParentContentToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('moveParentContentToDifferentPage');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv
+        */
+       public function moveParentContentToDifferentPageAndChangeSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('moveParentContentToDifferentPageNChangeSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', array('Regular Element #2', 'Regular Element #1'));
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1')
+               );
+       }
+
+       /**
+        * Page records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyPageRecord.csv
+        */
+       public function modifyPage() {
+               $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyPage');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Page, 'title', 'Testing #1');
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/deletePageRecord.csv
+        */
+       public function deletePage() {
+               $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId);
+               $this->assertAssertionDataSet('deletePage');
+
+               $response = $this->getFrontendResponse(self::VALUE_PageId, 0, 0, 0, FALSE);
+               $this->assertContains('PageNotFoundException', $response->getError());
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/copyPageRecord.csv
+        */
+       public function copyPage() {
+               $newTableIds = $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('copyPage');
+
+               $newPageId = $newTableIds[self::TABLE_Page][self::VALUE_PageId];
+               $responseContent = $this->getFrontendResponse($newPageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2', 'Hotel #1'));
+       }
+
+       /**
+        * IRRE Child Records
+        */
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createParentContentWithHotelAndOfferChildren() {
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('createParentContentNHotelNOfferChildren');
+
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createAndCopyParentContentWithHotelAndOfferChildren() {
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
+               $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId);
+               $this->assertAssertionDataSet('createNCopyParentContentNHotelNOfferChildren');
+
+               $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId];
+               $copiedHotelId = $copiedTableIds[self::TABLE_Hotel][$newHotelId];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . $copiedContentId, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Hotel . ':' . $copiedHotelId, self::FIELD_HotelOffer,
+                       self::TABLE_Offer, 'title', 'Offer #1'
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv
+        */
+       public function createAndLocalizeParentContentWithHotelAndOfferChildren() {
+               // @todo Localizing the new child records is broken in the Core
+               $newTableIds = $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
+                       )
+               );
+               $newContentId = $newTableIds[self::TABLE_Content][0];
+               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
+               $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('createNLocalizeParentContentNHotelNOfferChildren');
+
+               $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId];
+               $localizedHotelId = $localizedTableIds[self::TABLE_Hotel][$newHotelId];
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
+
+               // @todo Does not work since children don't point to live-default record
+               /*
+                       $this->assertResponseContentStructureHasRecords(
+                               $responseContent, self::TABLE_Content . ':' . $localizedContentId, self::FIELD_ContentHotel,
+                               self::TABLE_Hotel, 'title', '[Translate to Dansk:] Hotel #1'
+                       );
+                       $this->assertResponseContentStructureHasRecords(
+                               $responseContent, self::TABLE_Hotel . ':' . $localizedHotelId, self::FIELD_HotelOffer,
+                               self::TABLE_Offer, 'title', '[Translate to Dansk:] Offer #1'
+                       );
+               */
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyOnlyHotelChildRecord.csv
+        */
+       public function modifyOnlyHotelChild() {
+               $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyOnlyHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv
+        */
+       public function modifyParentAndChangeHotelChildrenSorting() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array(self::FIELD_ContentHotel => '4,3'));
+               $this->assertAssertionDataSet('modifyParentNChangeHotelChildrenSorting');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #2', 'Hotel #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv
+        */
+       public function modifyParentWithHotelChild() {
+               $this->actionService->modifyRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'),
+                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentNHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv
+        */
+       public function modifyParentAndAddHotelChild() {
+               $this->actionService->modifyRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Hotel => array('uid' => '__NEW', 'title' => 'Hotel #2'),
+                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdLast, self::FIELD_ContentHotel => '5,__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentNAddHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
+               );
+       }
+
+       /**
+        * @test
+        * @see DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv
+        */
+       public function modifyParentAndDeleteHotelChild() {
+               $this->actionService->modifyRecord(
+                       self::TABLE_Content,
+                       self::VALUE_ContentIdFirst,
+                       array(self::FIELD_ContentHotel => '3'),
+                       array(self::TABLE_Hotel => array(4))
+               );
+               $this->assertAssertionDataSet('modifyParentNDeleteHotelChild');
+
+               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
+               $this->assertResponseContentStructureHasRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #1'
+               );
+               $this->assertResponseContentStructureDoesNotHaveRecords(
+                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
+                       self::TABLE_Hotel, 'title', 'Hotel #2'
+               );
+       }
+
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/changeParentContentSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/changeParentContentSorting.csv
new file mode 100644 (file)
index 0000000..97c9d28
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,768,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,512,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1024,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,128,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,256,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,512,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1024,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,16,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,32,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,128,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,256,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,512,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1280,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyPage.csv
new file mode 100644 (file)
index 0000000..a9b80d8
--- /dev/null
@@ -0,0 +1,47 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
+,91,90,256,0,0,0,0,0,0,Relations
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,91,256,0,0,0,0,0,0,0,0,"Regular Element #2",0,1
+,300,91,128,0,0,0,0,0,0,0,0,"Regular Element #1",0,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,91,1,0,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+,7,91,1,0,0,0,0,0,0,0,0,"Hotel #1",300,tt_content,,2
+,8,91,2,0,0,0,0,0,0,0,0,"Hotel #2",300,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,91,1,0,0,0,0,0,0,0,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+,10,91,1,0,0,0,0,0,0,0,0,"Offer #1.1",7,tx_irretutorial_1nff_hotel,,3
+,11,91,2,0,0,0,0,0,0,0,0,"Offer #1.2",7,tx_irretutorial_1nff_hotel,,2
+,12,91,1,0,0,0,0,0,0,0,0,"Offer #2.1",8,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,91,1,0,0,0,0,0,0,0,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,91,1,0,0,0,0,0,0,0,0,"Price #1.1.1",10,tx_irretutorial_1nff_offer,
+,16,91,2,0,0,0,0,0,0,0,0,"Price #1.1.2",10,tx_irretutorial_1nff_offer,
+,17,91,3,0,0,0,0,0,0,0,0,"Price #1.1.3",10,tx_irretutorial_1nff_offer,
+,18,91,1,0,0,0,0,0,0,0,0,"Price #1.2.1",11,tx_irretutorial_1nff_offer,
+,19,91,2,0,0,0,0,0,0,0,0,"Price #1.2.2",11,tx_irretutorial_1nff_offer,
+,20,91,1,0,0,0,0,0,0,0,0,"Price #2.1.1",12,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/copyParentContent.csv
new file mode 100644 (file)
index 0000000..f319b05
--- /dev/null
@@ -0,0 +1,28 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,128,0,0,0,0,0,0,0,0,"Regular Element #2 (copy 1)",0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNCopyParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..a74103b
--- /dev/null
@@ -0,0 +1,30 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,1
+,300,89,64,0,0,0,0,0,0,0,0,"Testing #1 (copy 1)",0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+,7,89,1,0,0,0,0,0,0,0,0,"Hotel #1",300,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,0,0,0,0,0,0,0,"Offer #1",6,tx_irretutorial_1nff_hotel,,0
+,10,89,1,0,0,0,0,0,0,0,0,"Offer #1",7,tx_irretutorial_1nff_hotel,,0
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createNLocalizeParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..d3c9350
--- /dev/null
@@ -0,0 +1,30 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,1
+,300,89,192,0,1,299,0,0,0,0,0,"[Translate to Dansk:] Testing #1",0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,512,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,1536,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,768,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1024,0,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+,7,89,1,0,1,6,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",300,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,512,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,1792,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,768,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1024,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1280,0,0,0,0,0,0,0,0,"Offer #1",6,tx_irretutorial_1nff_hotel,,0
+,10,89,1,0,1,9,0,0,0,0,0,"[Translate to Dansk:] Offer #1",7,tx_irretutorial_1nff_hotel,,0
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContent.csv
new file mode 100644 (file)
index 0000000..88c90a8
--- /dev/null
@@ -0,0 +1,5 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,0
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/createParentContentNHotelNOfferChildren.csv
new file mode 100644 (file)
index 0000000..ed042f1
--- /dev/null
@@ -0,0 +1,27 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,0,0,0,0,0,0,0,"Offer #1",6,tx_irretutorial_1nff_hotel,,0
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deletePage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deletePage.csv
new file mode 100644 (file)
index 0000000..2d5ec84
--- /dev/null
@@ -0,0 +1,30 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,1000000000,1,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deleteParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/deleteParentContent.csv
new file mode 100644 (file)
index 0000000..9b865d5
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/localizeParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/localizeParentContent.csv
new file mode 100644 (file)
index 0000000..1755d28
--- /dev/null
@@ -0,0 +1,28 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+,299,89,768,0,1,298,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,512,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,1280,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,768,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,1,5,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,512,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,1536,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,768,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1024,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,1,8,0,0,0,0,0,"[Translate to Dansk:] Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,512,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,1792,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,2304,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,768,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2048,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1024,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1280,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,89,1,0,1,13,0,0,0,0,0,"[Translate to Dansk:] Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyOnlyHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyOnlyHotelChild.csv
new file mode 100644 (file)
index 0000000..2a5a907
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Testing #1",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyPage.csv
new file mode 100644 (file)
index 0000000..ed4fd56
--- /dev/null
@@ -0,0 +1,6 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,"Testing #1"
+,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentContent.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentContent.csv
new file mode 100644 (file)
index 0000000..2a94d9e
--- /dev/null
@@ -0,0 +1,4 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Testing #1",,1
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNAddHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNAddHotelChild.csv
new file mode 100644 (file)
index 0000000..c23a5e1
--- /dev/null
@@ -0,0 +1,25 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,2,0,0,0,0,0,0,0,0,"Hotel #2",298,tt_content,,0
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNChangeHotelChildrenSorting.csv
new file mode 100644 (file)
index 0000000..ba0eaeb
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,2,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,1,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNDeleteHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNDeleteHotelChild.csv
new file mode 100644 (file)
index 0000000..5ad7947
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,1
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChild.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/modifyParentNHotelChild.csv
new file mode 100644 (file)
index 0000000..2a5a907
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Testing #1",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPage.csv
new file mode 100644 (file)
index 0000000..a063b1d
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Assertion/moveParentContentToDifferentPageNChangeSorting.csv
new file mode 100644 (file)
index 0000000..6a7dae2
--- /dev/null
@@ -0,0 +1,24 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1nff_hotels
+,297,90,512,0,0,0,0,0,0,0,0,"Regular Element #1",,2
+,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,offers
+,3,90,64,0,0,0,0,0,0,0,0,"Hotel #1",297,tt_content,,2
+,4,90,128,0,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier,prices
+,5,90,32,0,0,0,0,0,0,0,0,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,90,64,0,0,0,0,0,0,0,0,"Offer #1.2",3,tx_irretutorial_1nff_hotel,,2
+,7,90,128,0,0,0,0,0,0,0,0,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parentid,parenttable,parentidentifier
+,7,90,4,0,0,0,0,0,0,0,0,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,90,8,0,0,0,0,0,0,0,0,"Price #1.1.2",5,tx_irretutorial_1nff_offer,
+,9,90,16,0,0,0,0,0,0,0,0,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,90,32,0,0,0,0,0,0,0,0,"Price #1.2.1",6,tx_irretutorial_1nff_offer,
+,11,90,64,0,0,0,0,0,0,0,0,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,90,128,0,0,0,0,0,0,0,0,"Price #2.1.1",7,tx_irretutorial_1nff_offer,
+,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultElements.csv
new file mode 100644 (file)
index 0000000..bbf5c96
--- /dev/null
@@ -0,0 +1,28 @@
+"sys_language"
+,"uid","pid","hidden","title","flag"
+,1,0,0,"Dansk","dk"
+,2,0,0,"Deutsch","de"
+"tt_content"
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","header","image","tx_irretutorial_1nff_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1","\NULL",2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2","\NULL",1
+"tx_irretutorial_1nff_hotel"
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","title","parentid","parenttable","parentidentifier","offers"
+,3,89,1,0,0,0,0,0,0,0,0,"Hotel #1",297,"tt_content",,2
+,4,89,2,0,0,0,0,0,0,0,0,"Hotel #2",297,"tt_content",,1
+,5,89,1,0,0,0,0,0,0,0,0,"Hotel #1",298,"tt_content",,1
+"tx_irretutorial_1nff_offer"
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","title","parentid","parenttable","parentidentifier","prices"
+,5,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",3,"tx_irretutorial_1nff_hotel",,3
+,6,89,2,0,0,0,0,0,0,0,0,"Offer #1.2",3,"tx_irretutorial_1nff_hotel",,2
+,7,89,1,0,0,0,0,0,0,0,0,"Offer #2.1",4,"tx_irretutorial_1nff_hotel",,1
+,8,89,1,0,0,0,0,0,0,0,0,"Offer #1.1",5,"tx_irretutorial_1nff_hotel",,1
+"tx_irretutorial_1nff_price"
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","title","parentid","parenttable","parentidentifier"
+,7,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",5,"tx_irretutorial_1nff_offer",
+,8,89,2,0,0,0,0,0,0,0,0,"Price #1.1.2",5,"tx_irretutorial_1nff_offer",
+,9,89,3,0,0,0,0,0,0,0,0,"Price #1.1.3",5,"tx_irretutorial_1nff_offer",
+,10,89,1,0,0,0,0,0,0,0,0,"Price #1.2.1",6,"tx_irretutorial_1nff_offer",
+,11,89,2,0,0,0,0,0,0,0,0,"Price #1.2.2",6,"tx_irretutorial_1nff_offer",
+,12,89,1,0,0,0,0,0,0,0,0,"Price #2.1.1",7,"tx_irretutorial_1nff_offer",
+,13,89,1,0,0,0,0,0,0,0,0,"Price #1.1.1",8,"tx_irretutorial_1nff_offer",
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/DataSet/Scenario/LiveDefaultPages.csv
new file mode 100644 (file)
index 0000000..17b04d4
--- /dev/null
@@ -0,0 +1,6 @@
+pages
+,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
+,1,0,256,0,0,0,0,0,0,FunctionalTest
+,88,1,256,0,0,0,0,0,0,DataHandlerTest
+,89,88,256,0,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/LiveActionTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/LiveActionTest.php
new file mode 100644 (file)
index 0000000..7b7588c
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\ForeignField;
+
+/***************************************************************
+ * Copyright notice
+ *
+ * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
+ * All rights reserved
+ *
+ * This script is part of the TYPO3 project. The TYPO3 project is
+ * free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * The GNU General Public License can be found at
+ * http://www.gnu.org/copyleft/gpl.html.
+ *
+ * This script is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+require_once dirname(__FILE__) . '/AbstractActionTestCase.php';
+
+/**
+ * Functional test for the DataHandler
+ */
+class LiveActionTest extends AbstractActionTestCase {
+
+       public function setUp() {
+               parent::setUp();
+               $this->backendUser->workspace = 0;
+       }
+
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationKeepTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationKeepTest.php
new file mode 100644 (file)
index 0000000..0bab522
--- /dev/null
@@ -0,0 +1,157 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE;
+
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2010 Oliver Hader <oliver@typo3.org>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+require_once(dirname(__FILE__). '/AbstractLocalizationTestCase.php');
+
+/**
+ * Test case for m:n MM localizations using localizationMode 'keep'.
+ *
+ */
+class MtoNMMAsymmetricLocalizationKeepTest extends AbstractLocalizationTestCase {
+
+       /**
+        * Sets up this test case.
+        *
+        * @return void
+        */
+       public function setUp() {
+               parent::setUp();
+
+               // Set the localizazionMode to 'select' for all IRRE fields:
+               foreach ($this->structure as $tableName => $fields) {
+                       foreach ($fields as $fieldName) {
+                               $this->setTcaFieldConfigurationBehaviour(
+                                       $tableName, $fieldName,
+                                       self::BEHAVIOUR_LocalizationMode,
+                                       self::VALUE_LocalizationMode_Keep
+                               );
+                       }
+               }
+
+               $this->importDataSet(dirname(__FILE__) . '/Fixtures/MToNMMAsymmetric.xml');
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function isOnlyParentLocalized() {
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                       )
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Offer => '1,2',
+                       ),
+                       self::VALUE_LanguageId,
+                       FALSE
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'uid' => '1',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'uid' => '2',
+                               ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer
+               );
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function areNoChildElementsLocalizedWithParent() {
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Hotel,
+                       self::FIELD_Hotel_Offers,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Offer,
+                       self::FIELD_Offer_Prices,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                       )
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Offer => '1,2',
+                               self::TABLE_Price => '1,2,3',
+                       ),
+                       self::VALUE_LanguageId,
+                       FALSE
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                                array(
+                                        'tableName' => self::TABLE_Offer,
+                                        'uid' => '1',
+                                ),
+                                array(
+                                        'tableName' => self::TABLE_Offer,
+                                        'uid' => '2',
+                                ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer
+               );
+       }
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationSelectTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/IRRE/MToNMMAsymmetricLocalizationSelectTest.php
new file mode 100644 (file)
index 0000000..c22ad75
--- /dev/null
@@ -0,0 +1,322 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE;
+
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2010 Oliver Hader <oliver@typo3.org>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+require_once(dirname(__FILE__). '/AbstractLocalizationTestCase.php');
+
+/**
+ * Testcase for m:n MM localizations using localizationMode 'select'.
+ *
+ */
+class MtoNMMAsymetricLocalizationSelectTest extends AbstractLocalizationTestCase {
+
+       /**
+        * Sets up this test case.
+        *
+        * @return void
+        */
+       public function setUp() {
+               parent::setUp();
+
+               // Set the localizazionMode to 'select' for all IRRE fields:
+               foreach ($this->structure as $tableName => $fields) {
+                       foreach ($fields as $fieldName) {
+                               $this->setTcaFieldConfigurationBehaviour(
+                                       $tableName, $fieldName,
+                                       self::BEHAVIOUR_LocalizationMode,
+                                       self::VALUE_LocalizationMode_Select
+                               );
+                       }
+               }
+
+               $this->importDataSet(dirname(__FILE__) . '/Fixtures/MToNMMAsymmetric.xml');
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function isOnlyParentLocalized() {
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                       )
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Offer => '1,2',
+                       ),
+                       self::VALUE_LanguageId,
+                       FALSE
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'uid' => '1',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'uid' => '2',
+                               ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer,
+                       FALSE
+               );
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function areChildElementsLocalized() {
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->simulateCommand(
+                       self::COMMAND_LocalizeSynchronize,
+                       self::FIELD_Hotel_Offers . ',' . self::COMMAND_LocalizeSynchronize_Localize,
+                       array(self::TABLE_Hotel => $localizedHotelId)
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                               self::TABLE_Offer => '1,2',
+                       )
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Price => '1,2,3',
+                       ),
+                       self::VALUE_LanguageId,
+                       FALSE
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '1',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '2',
+                               ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer
+               );
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function areChildElementsLocalizedWithParent() {
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Offer,
+                       self::FIELD_Offer_Prices,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->simulateCommand(
+                       self::COMMAND_LocalizeSynchronize,
+                       self::FIELD_Hotel_Offers . ',' . self::COMMAND_LocalizeSynchronize_Localize,
+                       array(self::TABLE_Hotel => $localizedHotelId)
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                               self::TABLE_Offer => '1,2',
+                               self::TABLE_Price => '1,2,3',
+                       )
+               );
+
+               /* Offers */
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '1',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '2',
+                               ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer
+               );
+
+               /* Prices */
+               $this->assertChildren(
+                       self::TABLE_Offer, $this->getLocalizationId(self::TABLE_Offer, 1), self::FIELD_Offer_Prices,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Price,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '1',
+                               ),
+                       ),
+                       self::TABLE_Relation_Offer_Price
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Offer, $this->getLocalizationId(self::TABLE_Offer, 2), self::FIELD_Offer_Prices,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Price,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '2',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Price,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '3',
+                               ),
+                       ),
+                       self::TABLE_Relation_Offer_Price
+               );
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function areDirectChildElementsLocalizedWithParent() {
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Hotel,
+                       self::FIELD_Hotel_Offers,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $localizedHotelId = $this->getLocalizationId(self::TABLE_Hotel, 1);
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                               self::TABLE_Offer => '1,2',
+                       )
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Price => '1,2,3',
+                       ),
+                       self::VALUE_LanguageId,
+                       FALSE
+               );
+
+               $this->assertChildren(
+                       self::TABLE_Hotel, $localizedHotelId, self::FIELD_Hotel_Offers,
+                       array(
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '1',
+                               ),
+                               array(
+                                       'tableName' => self::TABLE_Offer,
+                                       'sys_language_uid' => self::VALUE_LanguageId,
+                                       'l18n_parent' => '2',
+                               ),
+                       ),
+                       self::TABLE_Relation_Hotel_Offer
+               );
+       }
+
+       /**
+        * @return void
+        * @test
+        */
+       public function areAllChildElementsLocalizedWithParent() {
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Hotel,
+                       self::FIELD_Hotel_Offers,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->setTcaFieldConfigurationBehaviour(
+                       self::TABLE_Offer,
+                       self::FIELD_Offer_Prices,
+                       self::BEHAVIOUR_LocalizeChildrenAtParentLocalization,
+                       TRUE
+               );
+
+               $this->simulateCommand(
+                       self::COMMAND_Localize,
+                       self::VALUE_LanguageId,
+                       array(self::TABLE_Hotel => '1')
+               );
+
+               $this->assertLocalizations(
+                       array(
+                               self::TABLE_Hotel => '1',
+                               self::TABLE_Offer => '1,2',
+                               self::TABLE_Price => '1,2,3',
+                       )
+               );
+       }
+}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractLocalizationTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractLocalizationTestCase.php
deleted file mode 100644 (file)
index e46490f..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing;
-
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2010 Oliver Hader <oliver@typo3.org>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-require_once(dirname(__FILE__). '/AbstractTestCase.php');
-
-use TYPO3\CMS\Backend\Utility\BackendUtility;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-
-/**
- * Generic test helpers for localization tests
- *
- */
-abstract class AbstractLocalizationTestCase extends AbstractTestCase {
-       const COMMAND_LocalizeSynchronize = 'inlineLocalizeSynchronize';
-       const COMMAND_LocalizeSynchronize_Localize = 'localize';
-       const COMMAND_LocalizeSynchronize_Synchronize = 'synchronize';
-
-       const VALUE_LocalizationMode_Keep = 'keep';
-       const VALUE_LocalizationMode_Select = 'select';
-
-       const TABLE_Hotel = 'tx_irretutorial_mnmmasym_hotel';
-       const TABLE_Offer = 'tx_irretutorial_mnmmasym_offer';
-       const TABLE_Price = 'tx_irretutorial_mnmmasym_price';
-       const TABLE_Relation_Hotel_Offer = 'tx_irretutorial_mnmmasym_hotel_offer_rel';
-       const TABLE_Relation_Offer_Price = 'tx_irretutorial_mnmmasym_offer_price_rel';
-
-       const FIELD_Hotel_Offers = 'offers';
-       const FIELD_Offer_Hotels = 'hotels';
-       const FIELD_Offer_Prices = 'prices';
-       const FIELD_Price_Offers = 'offers';
-
-       /**
-        * @var array
-        */
-       protected $structure = array(
-               self::TABLE_Hotel => array(self::FIELD_Hotel_Offers),
-               self::TABLE_Offer => array(self::FIELD_Offer_Hotels, self::FIELD_Offer_Prices),
-               self::TABLE_Price => array(self::FIELD_Price_Offers),
-       );
-
-       /**
-        * Asserts that accordant localizations exist.
-        *
-        * @param array $tables Table names with list of ids to be edited
-        * @param integer $languageId The sys_language_id
-        * @param boolean $expected Expected result of assertion
-        * @return void
-        */
-       protected function assertLocalizations(array $tables, $languageId = self::VALUE_LanguageId, $expected = TRUE) {
-               foreach ($tables as $tableName => $idList) {
-                       $ids = GeneralUtility::trimExplode(',', $idList, TRUE);
-                       foreach ($ids as $id) {
-                               $localization = BackendUtility::getRecordLocalization($tableName, $id, $languageId);
-                               $isLocalization = is_array($localization) && count($localization);
-                               $this->assertTrue(
-                                       !($expected XOR $isLocalization),
-                                       'Localization for ' . $tableName . ':' . $id . ($expected ? ' not' : '') . ' available'
-                               );
-                       }
-               }
-       }
-
-       /**
-        * Gets the id of the localized record of a language parent.
-        *
-        * @param string $tableName
-        * @param integer $id
-        * @param integer $languageId
-        * @return boolean
-        */
-       protected function getLocalizationId($tableName, $id, $languageId = self::VALUE_LanguageId) {
-               $localization = BackendUtility::getRecordLocalization($tableName, $id, $languageId);
-               if (is_array($localization) && count($localization)) {
-                       return $localization[0]['uid'];
-               }
-
-               return FALSE;
-       }
-}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/AbstractTestCase.php
deleted file mode 100644 (file)
index 646e623..0000000
+++ /dev/null
@@ -1,442 +0,0 @@
-<?php
-namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing;
-
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2010 Oliver Hader <oliver@typo3.org>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-use TYPO3\CMS\Backend\Utility\BackendUtility;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-
-/**
- * Generic test helpers.
- *
- */
-abstract class AbstractTestCase extends \TYPO3\CMS\Core\Tests\FunctionalTestCase {
-       const VALUE_LanguageId = 2;
-
-       const TABLE_Pages = 'pages';
-
-       const COMMAND_Copy = 'copy';
-       const COMMAND_Localize = 'localize';
-       const COMMAND_Delete = 'delete';
-
-       const PROPERTY_LocalizeReferencesAtParentLocalization = 'localizeReferencesAtParentLocalization';
-       const BEHAVIOUR_LocalizeChildrenAtParentLocalization = 'localizeChildrenAtParentLocalization';
-       const BEHAVIOUR_LocalizationMode = 'localizationMode';
-
-       protected $testExtensionsToLoad = array('typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial');
-
-       /**
-        * @var integer
-        */
-       private $expectedLogEntries = 0;
-
-       /**
-        * Sets up this test case.
-        *
-        * @return void
-        */
-       public function setUp() {
-               parent::setUp();
-
-               $this->setUpBackendUserFromFixture(1);
-               \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeLanguageObject();
-
-               $this->expectedLogEntries = 0;
-
-               $GLOBALS['TYPO3_CONF_VARS']['SYS']['sqlDebug'] = 1;
-
-               $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/core/Tests/Functional/Fixtures/pages.xml');
-               $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/core/Tests/Functional/Fixtures/sys_language.xml');
-       }
-
-       /**
-        * Tears down this test case.
-        *
-        * @return void
-        */
-       public function tearDown() {
-               $this->assertNoLogEntries();
-
-               $this->expectedLogEntries = 0;
-
-               parent::tearDown();
-       }
-
-       /**
-        * Sets the number of expected log entries.
-        *
-        * @param integer $count
-        * @return void
-        */
-       protected function setExpectedLogEntries($count) {
-               $count = (int)$count;
-
-               if ($count > 0) {
-                       $this->expectedLogEntries = $count;
-               }
-       }
-
-       /**
-        * @param string $command
-        * @param mixed $value
-        * @param array $tables Table names with list of ids to be edited
-        * @return array
-        */
-       protected function getElementStructureForCommands($command, $value, array $tables) {
-               $commandStructure = array();
-
-               foreach ($tables as $tableName => $idList) {
-                       $ids = GeneralUtility::trimExplode(',', $idList, TRUE);
-                       foreach ($ids as $id) {
-                               $commandStructure[$tableName][$id] = array(
-                                       $command => $value
-                               );
-                       }
-               }
-
-               return $commandStructure;
-       }
-
-       /**
-        * Simulates executing commands by using t3lib_TCEmain.
-        *
-        * @param  array $elements The cmdmap to be delivered to DataHandler
-        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
-        */
-       protected function simulateCommandByStructure(array $elements) {
-               $tceMain = $this->getTceMain();
-               $tceMain->start(array(), $elements);
-               $tceMain->process_cmdmap();
-
-               return $tceMain;
-       }
-
-       /**
-        * @param string $command
-        * @param mixed $value
-        * @param array $tables Table names with list of ids to be edited
-        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
-        */
-       protected function simulateCommand($command, $value, array $tables) {
-               return $this->simulateCommandByStructure(
-                       $this->getElementStructureForCommands($command, $value, $tables)
-               );
-       }
-
-       /**
-        * Gets the last log entry.
-        *
-        * @return array
-        */
-       protected function getLastLogEntryMessage() {
-               $message = '';
-
-               $logEntries = $this->getDatabase()->exec_SELECTgetRows('*', 'sys_log', 'error IN (1,2)', '', '', 1);
-
-               if (is_array($logEntries) && count($logEntries)) {
-                       $message = $logEntries[0]['details'];
-               }
-
-               return $message;
-       }
-
-       /**
-        * @param  array $itemArray
-        * @return array
-        */
-       protected function getElementsByItemArray(array $itemArray) {
-               $elements = array();
-
-               foreach ($itemArray as $item) {
-                       $elements[$item['table']][$item['id']] = BackendUtility::getRecord($item['table'], $item['id']);
-               }
-
-               return $elements;
-       }
-
-       /**
-        * Gets all records of a table.
-        *
-        * @param string $table Name of the table
-        * @param string $indexField
-        * @return array
-        */
-       protected function getAllRecords($table, $indexField = 'uid') {
-               return $this->getDatabase()->exec_SELECTgetRows('*', $table, '1=1', '', '', '', $indexField);
-       }
-
-       /**
-        * Gets the TCE configuration of a field.
-        *
-        * @param  $tableName
-        * @param  $fieldName
-        * @return array
-        */
-       protected function getTcaFieldConfiguration($tableName, $fieldName) {
-               if (!isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
-                       $this->fail('TCA definition for field ' . $tableName . '.' . $fieldName . ' not available');
-               }
-
-               return $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'];
-       }
-
-       /**
-        * @param string $tableName
-        * @param string $fieldName
-        * @param string $propertyName
-        * @param mixed $value
-        * @return void
-        */
-       protected function setTcaFieldConfiguration($tableName, $fieldName, $propertyName, $value) {
-               if (isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
-                       $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'][$propertyName] = $value;
-               }
-       }
-
-       /**
-        * @param string $tableName
-        * @param string $fieldName
-        * @param string $behaviourName
-        * @param mixed $value
-        * @return void
-        */
-       protected function setTcaFieldConfigurationBehaviour($tableName, $fieldName, $behaviourName, $value) {
-               if (isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config'])) {
-                       if (!isset($GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'])) {
-                               $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'] = array();
-                       }
-
-                       $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['behaviour'][$behaviourName] = $value;
-               }
-       }
-
-       /**
-        * Gets the field value of a record.
-        *
-        * @param  $tableName
-        * @param  $id
-        * @param  $fieldName
-        * @return string
-        */
-       protected function getFieldValue($tableName, $id, $fieldName) {
-               $record = BackendUtility::getRecord($tableName, $id, $fieldName);
-
-               if (!is_array($record)) {
-                       $this->fail('Record ' . $tableName . ':' . $id . ' not available');
-               }
-
-               return $record[$fieldName];
-       }
-
-       /**
-        * Gets instance of \TYPO3\CMS\Core\Database\RelationHandler.
-        *
-        * @return \TYPO3\CMS\Core\Database\RelationHandler
-        */
-       protected function getLoadDbGroup() {
-               $loadDbGroup = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Database\\RelationHandler');
-
-               return $loadDbGroup;
-       }
-
-       /**
-        * Gets an instance of \TYPO3\CMS\Core\DataHandling\DataHandler.
-        *
-        * @return \TYPO3\CMS\Core\DataHandling\DataHandler
-        */
-       protected function getTceMain() {
-               $tceMain = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-               return $tceMain;
-       }
-
-       /**
-        * Assert that no sys_log entries had been written.
-        *
-        * @return void
-        */
-       protected function assertNoLogEntries() {
-               $logEntries = $this->getLogEntries();
-
-               if (count($logEntries) > $this->expectedLogEntries) {
-                       var_dump(array_values($logEntries));
-                       ob_flush();
-                       $this->fail('The sys_log table contains unexpected entries.');
-               } elseif (count($logEntries) < $this->expectedLogEntries) {
-                       $this->fail('Expected count of sys_log entries no reached.');
-               }
-       }
-
-       /**
-        * Asserts the correct order of elements.
-        *
-        * @param string $table
-        * @param string $field
-        * @param array $expectedOrderOfIds
-        * @param string $message
-        * @return void
-        */
-       protected function assertSortingOrder($table, $field, $expectedOrderOfIds, $message) {
-               $expectedOrderOfIdsCount = count($expectedOrderOfIds);
-               $elements = $this->getAllRecords($table);
-
-               for ($i = 0; $i < $expectedOrderOfIdsCount-1; $i++) {
-                       $this->assertLessThan(
-                               $elements[$expectedOrderOfIds[$i+1]][$field],
-                               $elements[$expectedOrderOfIds[$i]][$field],
-                               $message
-                       );
-               }
-       }
-
-       /**
-        * Asserts reference index elements.
-        *
-        * @param array $assertions
-        * @param boolean $expected
-        */
-       protected function assertReferenceIndex(array $assertions, $expected = TRUE) {
-               $references = $this->getAllRecords('sys_refindex', 'hash');
-
-               foreach ($assertions as $parent => $children) {
-                       foreach ($children as $child) {
-                               $parentItems = explode(':', $parent);
-                               $childItems = explode(':', $child);
-
-                               $assertion = array(
-                                       'tablename' => $parentItems[0],
-                                       'recuid' => $parentItems[1],
-                                       'field' => $parentItems[2],
-                                       'ref_table' => $childItems[0],
-                                       'ref_uid' => $childItems[1],
-                               );
-
-                               $this->assertTrue(
-                                       ($expected === $this->executeAssertionOnElements($assertion, $references)),
-                                       'Expected reference index element for ' . $parent . ' -> ' . $child
-                               );
-                       }
-               }
-       }
-
-       /**
-        * @param string $parentTableName
-        * @param integer $parentId
-        * @param string $parentFieldName
-        * @param array $assertions
-        * @param string $mmTable
-        * @param boolean $expected
-        * @return void
-        */
-       protected function assertChildren($parentTableName, $parentId, $parentFieldName, array $assertions, $mmTable = '', $expected = TRUE) {
-               $tcaFieldConfiguration = $this->getTcaFieldConfiguration($parentTableName, $parentFieldName);
-
-               $loadDbGroup = $this->getLoadDbGroup();
-               $loadDbGroup->start(
-                       $this->getFieldValue($parentTableName, $parentId, $parentFieldName),
-                       $tcaFieldConfiguration['foreign_table'],
-                       $mmTable,
-                       $parentId,
-                       $parentTableName,
-                       $tcaFieldConfiguration
-               );
-
-               $elements = $this->getElementsByItemArray($loadDbGroup->itemArray);
-
-               foreach ($assertions as $index => $assertion) {
-                       $this->assertTrue(
-                               ($expected === $this->executeAssertionOnElements($assertion, $elements)),
-                               'Assertion #' . $index . ' failed'
-                       );
-               }
-       }
-
-       /**
-        * Gets log entries from the sys_log
-        *
-        * @return array
-        */
-       protected function getLogEntries() {
-               return $this->getDatabase()->exec_SELECTgetRows('*', 'sys_log', 'error IN (1,2)');
-       }
-
-       /**
-        * @param  array $assertion
-        * @param  array $elements
-        * @return boolean
-        */
-       protected function executeAssertionOnElements(array $assertion, array $elements) {
-               if (!empty($assertion['tableName'])) {
-                       $tableName = $assertion['tableName'];
-                       unset($assertion['tableName']);
-                       $elements = (array) $elements[$tableName];
-               }
-
-               foreach ($elements as $element) {
-                       $result = FALSE;
-
-                       foreach ($assertion as $field => $value) {
-                               if ($element[$field] == $value) {
-                                       $result = TRUE;
-                               } else {
-                                       $result = FALSE;
-                                       break;
-                               }
-                       }
-
-                       if ($result === TRUE) {
-                               return TRUE;
-                       }
-               }
-
-               return FALSE;
-       }
-
-       /**
-        * @param mixed $element
-        * @return string
-        */
-       protected function elementToString($element) {
-               $result = preg_replace(
-                       '#\n+#',
-                       ' ',
-                       var_export($element, TRUE)
-               );
-
-               return $result;
-       }
-
-       /**
-        * @return string
-        */
-       protected function combine() {
-               return implode(':', func_get_args());
-       }
-
-       /**
-        * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
-        */
-       protected function getBackendUser() {
-               return $GLOBALS['BE_USER'];
-       }
-}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php
deleted file mode 100644 (file)
index 11eff60..0000000
+++ /dev/null
@@ -1,410 +0,0 @@
-<?php
-namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue;
-
-/***************************************************************
- * Copyright notice
- *
- * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
- * All rights reserved
- *
- * This script is part of the TYPO3 project. The TYPO3 project is
- * free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * The GNU General Public License can be found at
- * http://www.gnu.org/copyleft/gpl.html.
- *
- * This script is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-require_once dirname(dirname(dirname(__FILE__))) . '/AbstractDataHandlerActionTestCase.php';
-
-/**
- * Functional test for the DataHandler
- */
-abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase {
-
-       const VALUE_PageId = 89;
-       const VALUE_PageIdTarget = 90;
-       const VALUE_PageIdWebsite = 1;
-       const VALUE_ContentIdFirst = 297;
-       const VALUE_ContentIdLast = 298;
-       const VALUE_LanguageId = 1;
-
-       const TABLE_Page = 'pages';
-       const TABLE_Content = 'tt_content';
-       const TABLE_Hotel = 'tx_irretutorial_1ncsv_hotel';
-       const TABLE_Offer = 'tx_irretutorial_1ncsv_offer';
-
-       const FIELD_ContentHotel = 'tx_irretutorial_1ncsv_hotels';
-       const FIELD_HotelOffer = 'offers';
-
-       /**
-        * @var string
-        */
-       protected $dataSetDirectory = 'typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/';
-
-       public function setUp() {
-               parent::setUp();
-               $this->importScenarioDataSet('LiveDefaultPages');
-               $this->importScenarioDataSet('LiveDefaultElements');
-
-               $this->setUpFrontendRootPage(1, array('typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts'));
-       }
-
-       /**
-        * Parent content records
-        */
-
-       /**
-        * @test
-        */
-       public function createParentContentRecord() {
-               $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1'));
-               $this->assertAssertionDataSet('createParentContentRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
-       }
-
-       /**
-        * @test
-        */
-       public function modifyParentContentRecord() {
-               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1'));
-               $this->assertAssertionDataSet('modifyParentContentRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function deleteParentContentRecord() {
-               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
-               $this->assertAssertionDataSet('deleteParentContentRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
-       }
-
-       /**
-        * @test
-        */
-       public function copyParentContentRecord() {
-               $newTableIds = $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
-               $this->assertAssertionDataSet('copyParentContentRecord');
-
-               $newContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function localizeParentContentRecord() {
-               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
-               $this->assertAssertionDataSet('localizeParentContentRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('[Translate to Dansk:] Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function changeParentContentRecordSorting() {
-               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
-               $this->assertAssertionDataSet('changeParentContentRecordSorting');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
-               );
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function moveParentContentRecordToDifferentPage() {
-               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
-               $this->assertAssertionDataSet('moveParentContentRecordToDifferentPage');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2');
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function moveParentContentRecordToDifferentPageAndChangeSorting() {
-               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
-               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
-               $this->assertAssertionDataSet('moveParentContentRecordToDifferentPageAndChangeSorting');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', array('Regular Element #2', 'Regular Element #1'));
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
-               );
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1')
-               );
-       }
-
-       /**
-        * Page records
-        */
-
-       /**
-        * @test
-        */
-       public function modifyPageRecord() {
-               $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
-               $this->assertAssertionDataSet('modifyPageRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Page, 'title', 'Testing #1');
-       }
-
-       /**
-        * @test
-        */
-       public function deletePageRecord() {
-               $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId);
-               $this->assertAssertionDataSet('deletePageRecord');
-
-               $response = $this->getFrontendResponse(self::VALUE_PageId, 0, 0, 0, FALSE);
-               $this->assertContains('PageNotFoundException', $response->getError());
-       }
-
-       /**
-        * @test
-        */
-       public function copyPageRecord() {
-               $newTableIds = $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
-               $this->assertAssertionDataSet('copyPageRecord');
-
-               $newPageId = $newTableIds[self::TABLE_Page][self::VALUE_PageId];
-               $responseContent = $this->getFrontendResponse($newPageId)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2', 'Hotel #1'));
-       }
-
-       /**
-        * IRRE Child Records
-        */
-
-       /**
-        * @test
-        */
-       public function createParentContentRecordWithHotelAndOfferChildRecords() {
-               $newTableIds = $this->actionService->createNewRecords(
-                       self::VALUE_PageId,
-                       array(
-                               self::TABLE_Offer => array('title' => 'Offer #1'),
-                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
-                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
-                       )
-               );
-               $this->assertAssertionDataSet('createParentContentRecordWithHotelAndOfferChildRecords');
-
-               $newContentId = $newTableIds[self::TABLE_Content][0];
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1');
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', 'Hotel #1'
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function createAndCopyParentContentRecordWithHotelAndOfferChildRecords() {
-               $newTableIds = $this->actionService->createNewRecords(
-                       self::VALUE_PageId,
-                       array(
-                               self::TABLE_Offer => array('title' => 'Offer #1'),
-                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
-                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
-                       )
-               );
-               $newContentId = $newTableIds[self::TABLE_Content][0];
-               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
-               $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId);
-               $this->assertAssertionDataSet('createAndCopyParentContentRecordWithHotelAndOfferChildRecords');
-
-               $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId];
-               $copiedHotelId = $copiedTableIds[self::TABLE_Hotel][$newHotelId];
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', 'Hotel #1'
-               );
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . $copiedContentId, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', 'Hotel #1'
-               );
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Hotel . ':' . $copiedHotelId, self::FIELD_HotelOffer,
-                       self::TABLE_Offer, 'title', 'Offer #1'
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords() {
-               // @todo Localizing the new child records is broken in the Core
-               $newTableIds = $this->actionService->createNewRecords(
-                       self::VALUE_PageId,
-                       array(
-                               self::TABLE_Offer => array('title' => 'Offer #1'),
-                               self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'),
-                               self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'),
-                       )
-               );
-               $newContentId = $newTableIds[self::TABLE_Content][0];
-               $newHotelId = $newTableIds[self::TABLE_Hotel][0];
-               $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId);
-               $this->assertAssertionDataSet('createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords');
-
-               $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId];
-               $localizedHotelId = $localizedTableIds[self::TABLE_Hotel][$newHotelId];
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
-
-               // @todo Does not work since children don't point to live-default record
-               /*
-                       $this->assertResponseContentStructureHasRecords(
-                               $responseContent, self::TABLE_Content . ':' . $localizedContentId, self::FIELD_ContentHotel,
-                               self::TABLE_Hotel, 'title', '[Translate to Dansk:] Hotel #1'
-                       );
-                       $this->assertResponseContentStructureHasRecords(
-                               $responseContent, self::TABLE_Hotel . ':' . $localizedHotelId, self::FIELD_HotelOffer,
-                               self::TABLE_Offer, 'title', '[Translate to Dansk:] Offer #1'
-                       );
-               */
-       }
-
-       /**
-        * @test
-        */
-       public function modifyOnlyHotelChildRecord() {
-               $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1'));
-               $this->assertAssertionDataSet('modifyOnlyHotelChildRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function modifyParentRecordAndChangeHotelChildRecordsSorting() {
-               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array(self::FIELD_ContentHotel => '4,3'));
-               $this->assertAssertionDataSet('modifyParentRecordAndChangeHotelChildRecordsSorting');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #2', 'Hotel #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function modifyParentRecordWithHotelChildRecord() {
-               $this->actionService->modifyRecords(
-                       self::VALUE_PageId,
-                       array(
-                               self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'),
-                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'),
-                       )
-               );
-               $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function modifyParentRecordAndAddHotelChildRecord() {
-               $this->actionService->modifyRecords(
-                       self::VALUE_PageId,
-                       array(
-                               self::TABLE_Hotel => array('uid' => '__NEW', 'title' => 'Hotel #2'),
-                               self::TABLE_Content => array('uid' => self::VALUE_ContentIdLast, self::FIELD_ContentHotel => '5,__previousUid'),
-                       )
-               );
-               $this->assertAssertionDataSet('modifyParentRecordAndAddHotelChildRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2')
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function modifyParentRecordAndDeleteHotelChildRecord() {
-               $this->actionService->modifyRecord(
-                       self::TABLE_Content,
-                       self::VALUE_ContentIdFirst,
-                       array(self::FIELD_ContentHotel => '3'),
-                       array(self::TABLE_Hotel => array(4))
-               );
-               $this->assertAssertionDataSet('modifyParentRecordAndDeleteHotelChildRecord');
-
-               $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent();
-               $this->assertResponseContentStructureHasRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', 'Hotel #1'
-               );
-               $this->assertResponseContentStructureDoesNotHaveRecords(
-                       $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel,
-                       self::TABLE_Hotel, 'title', 'Hotel #2'
-               );
-       }
-
-}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv
deleted file mode 100644 (file)
index 0a7647e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,768,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5"
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,16,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,32,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,4,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,8,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,16,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,64,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,256,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,512,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,768,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,1024,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,1280,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv
deleted file mode 100644 (file)
index 6750c48..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-pages
-,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,1,0,256,0,0,0,0,0,0,FunctionalTest
-,88,1,256,0,0,0,0,0,0,DataHandlerTest
-,89,88,256,0,0,0,0,0,0,Relations
-,90,88,512,0,0,0,0,0,0,Target
-,91,90,256,0,0,0,0,0,0,Relations
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,91,256,0,0,0,0,0,0,0,0,"Regular Element #2",0,6
-,300,91,128,0,0,0,0,0,0,0,0,"Regular Element #1",0,"7,8"
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,91,64,0,0,0,0,0,0,0,0,"Hotel #1",9
-,7,91,256,0,0,0,0,0,0,0,0,"Hotel #1","10,11"
-,8,91,128,0,0,0,0,0,0,0,0,"Hotel #2",12
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-,9,91,32,0,0,0,0,0,0,0,0,"Offer #1.1",14
-,10,91,256,0,0,0,0,0,0,0,0,"Offer #1.1","15,16,17"
-,11,91,128,0,0,0,0,0,0,0,0,"Offer #1.2","18,19"
-,12,91,64,0,0,0,0,0,0,0,0,"Offer #2.1",20
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,14,91,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,15,91,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,16,91,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,17,91,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,18,91,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,19,91,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,20,91,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv
deleted file mode 100644 (file)
index 8978eb3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,128,0,0,0,0,0,0,0,0,"Regular Element #2 (copy 1)",0,6
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,64,0,0,0,0,0,0,0,0,"Hotel #1",9
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-,9,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",14
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,14,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv
deleted file mode 100644 (file)
index c9c8ce2..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
-,300,89,64,0,0,0,0,0,0,0,0,"Testing #1 (copy 1)",0,7
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
-,7,89,32,0,0,0,0,0,0,0,0,"Hotel #1",10
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
-,10,89,16,0,0,0,0,0,0,0,0,"Offer #1",
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv
deleted file mode 100644 (file)
index 6661621..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
-,300,89,192,0,1,299,0,0,0,0,0,"[Translate to Dansk:] Testing #1",0,7
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
-,7,89,48,0,1,6,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv
deleted file mode 100644 (file)
index 2064224..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv
deleted file mode 100644 (file)
index 5e7e0da..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-,9,89,16,0,0,0,0,0,0,0,0,"Offer #1",
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv
deleted file mode 100644 (file)
index c6f77db..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-pages
-,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,1,0,256,0,0,0,0,0,0,FunctionalTest
-,88,1,256,0,0,0,0,0,0,DataHandlerTest
-,89,88,1000000000,1,0,0,0,0,0,Relations
-,90,88,512,0,0,0,0,0,0,Target
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv
deleted file mode 100644 (file)
index 2b44cf0..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv
deleted file mode 100644 (file)
index 7c46430..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-,299,89,768,0,1,298,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,6
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,96,0,1,5,0,0,0,0,0,"[Translate to Dansk:] Hotel #1",
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv
deleted file mode 100644 (file)
index fbc241c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv
deleted file mode 100644 (file)
index ed4fd56..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-pages
-,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,1,0,256,0,0,0,0,0,0,FunctionalTest
-,88,1,256,0,0,0,0,0,0,DataHandlerTest
-,89,88,256,0,0,0,0,0,0,"Testing #1"
-,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv
deleted file mode 100644 (file)
index 074640b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Testing #1",,5
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv
deleted file mode 100644 (file)
index d3f5267..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5,6"
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-,6,89,32,0,0,0,0,0,0,0,0,"Hotel #2",
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv
deleted file mode 100644 (file)
index f82c638..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"4,3"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv
deleted file mode 100644 (file)
index 1bef707..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,3
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv
deleted file mode 100644 (file)
index fbc241c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv
deleted file mode 100644 (file)
index 80be9a1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv
deleted file mode 100644 (file)
index 73b4085..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,90,512,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,90,64,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,90,128,0,0,0,0,0,0,0,0,"Hotel #2",7
-,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,90,32,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,90,64,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,90,128,0,0,0,0,0,0,0,0,"Offer #2.1",12
-,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,90,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,90,8,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,90,16,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,90,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,90,64,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,90,128,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv
deleted file mode 100644 (file)
index 4a196a4..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-"sys_language",,,,,,,,,,,,,,,
-,"uid","pid","hidden","title","flag",,,,,,,,,,
-,1,0,0,"Dansk","dk",,,,,,,,,,
-,2,0,0,"Deutsch","de",,,,,,,,,,
-tt_content
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels
-,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4"
-,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5"
-tx_irretutorial_1ncsv_hotel
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers
-,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6"
-,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2","7"
-,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1","8"
-tx_irretutorial_1ncsv_offer
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices
-,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9"
-,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11"
-,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1","12"
-,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1","13"
-tx_irretutorial_1ncsv_price
-,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1"
-,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2"
-,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3"
-,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1"
-,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2"
-,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1"
-,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1"
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv
deleted file mode 100644 (file)
index 17b04d4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-pages
-,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title
-,1,0,256,0,0,0,0,0,0,FunctionalTest
-,88,1,256,0,0,0,0,0,0,DataHandlerTest
-,89,88,256,0,0,0,0,0,0,Relations
-,90,88,512,0,0,0,0,0,0,Target
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php
deleted file mode 100644 (file)
index 5fca3f6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue;
-
-/***************************************************************
- * Copyright notice
- *
- * (c) 2014 Oliver Hader <oliver.hader@typo3.org>
- * All rights reserved
- *
- * This script is part of the TYPO3 project. The TYPO3 project is
- * free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * The GNU General Public License can be found at
- * http://www.gnu.org/copyleft/gpl.html.
- *
- * This script is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-require_once dirname(__FILE__) . '/AbstractActionTestCase.php';
-
-/**
- * Functional test for the DataHandler
- */
-class LiveActionTest extends AbstractActionTestCase {
-
-       public function setUp() {
-               parent::setUp();
-               $this->backendUser->workspace = 0;
-       }
-
-}
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/Fixtures/MToNMMAsymmetric.xml b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/Fixtures/MToNMMAsymmetric.xml
deleted file mode 100644 (file)
index 9c5655f..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<dataset>
-       <!-- Tabelle tx_irretutorial_mnmmasym_hotel -->
-       <tx_irretutorial_mnmmasym_hotel>
-               <uid>1</uid>
-               <pid>1</pid>
-               <tstamp>1250000000</tstamp>
-               <sys_language_uid>0</sys_language_uid>
-               <l18n_parent>0</l18n_parent>
-               <sorting>256</sorting>
-               <deleted>0</deleted>
-               <hidden>0</hidden>
-               <t3ver_oid>0</t3ver_oid>
-               <t3ver_id>0</t3ver_id>
-               <t3ver_wsid>0</t3ver_wsid>
-               <t3ver_label></t3ver_label>
-               <t3ver_state>0</t3ver_state>
-               <t3ver_stage>0</t3ver_stage>
-               <t3ver_count>0</t3ver_count>
-               <t3ver_tstamp>0</t3ver_tstamp>
-               <t3ver_move_id>0</t3ver_move_id>
-               <t3_origuid>0</t3_origuid>
-               <title>Rosengarten Hotels Appartment</title>
-               <offers>2</offers>
-       </tx_irretutorial_mnmmasym_hotel>
-       <!-- Tabelle tx_irretutorial_mnmmasym_hotel_offer_rel -->
-       <tx_irretutorial_mnmmasym_hotel_offer_rel>
-               <uid>1</uid>
-               <uid_local>1</uid_local>
-               <uid_foreign>1</uid_foreign>
-               <tablenames></tablenames>
-               <sorting>1</sorting>
-               <sorting_foreign>0</sorting_foreign>
-               <ident></ident>
-       </tx_irretutorial_mnmmasym_hotel_offer_rel>
-       <tx_irretutorial_mnmmasym_hotel_offer_rel>
-               <uid>2</uid>
-               <uid_local>1</uid_local>
-               <uid_foreign>2</uid_foreign>
-               <tablenames></tablenames>
-               <sorting>2</sorting>
-               <sorting_foreign>0</sorting_foreign>
-               <ident></ident>
-       </tx_irretutorial_mnmmasym_hotel_offer_rel>
-       <!-- Tabelle tx_irretutorial_mnmmasym_offer -->
-       <tx_irretutorial_mnmmasym_offer>
-               <uid>1</uid>
-               <pid>1</pid>
-               <tstamp>1250000000</tstamp>
-               <sys_language_uid>0</sys_language_uid>
-               <l18n_parent>0</l18n_parent>
-               <sorting>256</sorting>
-               <deleted>0</deleted>
-               <hidden>0</hidden>
-               <t3ver_oid>0</t3ver_oid>
-               <t3ver_id>0</t3ver_id>
-               <t3ver_wsid>0</t3ver_wsid>
-               <t3ver_label></t3ver_label>
-               <t3ver_state>0</t3ver_state>
-               <t3ver_stage>0</t3ver_stage>
-               <t3ver_count>0</t3ver_count>
-               <t3ver_tstamp>0</t3ver_tstamp>
-               <t3ver_move_id>0</t3ver_move_id>
-               <t3_origuid>0</t3_origuid>
-               <title>Wellness &amp; Beauty Week</title>
-               <hotels>0</hotels>
-               <prices>1</prices>
-       </tx_irretutorial_mnmmasym_offer>
-       <tx_irretutorial_mnmmasym_offer>
-               <uid>2</uid>
-               <pid>1</pid>
-               <tstamp>1250000000</tstamp>
-               <sys_language_uid>0</sys_language_uid>
-               <l18n_parent>0</l18n_parent>
-               <sorting>128</sorting>
-               <deleted>0</deleted>
-               <hidden>0</hidden>
-               <t3ver_oid>0</t3ver_oid>
-               <t3ver_id>0</t3ver_id>
-               <t3ver_wsid>0</t3ver_wsid>
-               <t3ver_label></t3ver_label>
-               <t3ver_state>0</t3ver_state>
-               <t3ver_stage>0</t3ver_stage>
-               <t3ver_count>0</t3ver_count>
-               <t3ver_tstamp>0</t3ver_tstamp>
-               <t3ver_move_id>0</t3ver_move_id>
-               <t3_origuid>0</t3_origuid>
-               <title>&quot;Experience it&quot; Week</title>
-               <hotels>0</hotels>
-               <prices>2</prices>
-       </tx_irretutorial_mnmmasym_offer>
-       <!-- Tabelle tx_irretutorial_mnmmasym_offer_price_rel -->
-       <tx_irretutorial_mnmmasym_offer_price_rel>
-               <uid>1</uid>
-               <uid_local>2</uid_local>
-               <uid_foreign>2</uid_foreign>
-