[TASK] Add functional test cases to DataHandler (workspace) 41/27241/7
authorOliver Hader <oliver@typo3.org>
Sat, 1 Feb 2014 18:52:53 +0000 (19:52 +0100)
committerOliver Hader <oliver.hader@typo3.org>
Fri, 7 Feb 2014 08:59:35 +0000 (09:59 +0100)
In addition to the functional test cases for data handling in
live, these test cases re-use the test scenarios to check the
behaviour in a particular workspace.

The current assertions only check the current behaviour. Parts
that are identified as faults are marked out with the ignore
operator "\*" in the CSV files.

Thus, these tests shall be used to compare the current state
with the target state in combination with accordant bug-fixes
for workspace data handling.

Resolves: #55563
Releases: 6.2
Change-Id: I5e35f0f450093416e5165fc399da3b454715a5d7
Reviewed-on: https://review.typo3.org/27241
Reviewed-by: Peter Kuehn
Tested-by: Peter Kuehn
Reviewed-by: Jigal van Hemert
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
65 files changed:
typo3/sysext/core/Tests/Functional/DataHandling/Framework/ActionService.php
typo3/sysext/core/Tests/Functional/DataHandling/Framework/DataSet.php
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/changeParentContentRecordSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyPageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyParentContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deletePageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/localizeParentContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyOnlyHotelChildRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyPageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/WorkspaceActionTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/addCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/changeCategoryRelationSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndAddCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndCreateCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndAddCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndCreateCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/WorkspaceActionTest.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentRecordSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageRecordSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecords.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContentRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPageRecord.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPageAndChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPage.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndChangeSorting.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Scenario/LiveDefaultElements.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Scenario/LiveDefaultPages.csv [new file with mode: 0644]
typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/WorkspaceActionTest.php [new file with mode: 0644]

index 071c65d..bdbdc2f 100644 (file)
@@ -69,18 +69,31 @@ class ActionService {
        /**
         * @param integer $pageId
         * @param array $tableRecordData
+        * @return array
         */
        public function createNewRecords($pageId, array $tableRecordData) {
                $dataMap = array();
+               $newTableIds = array();
                $currentUid = NULL;
                foreach ($tableRecordData as $tableName => $recordData) {
                        $recordData = $this->resolvePreviousUid($recordData, $currentUid);
                        $recordData['pid'] = $pageId;
                        $currentUid = uniqid('NEW');
+                       $newTableIds[$tableName][] = $currentUid;
                        $dataMap[$tableName][$currentUid] = $recordData;
                }
                $this->dataHandler->start($dataMap, array());
                $this->dataHandler->process_datamap();
+
+               foreach ($newTableIds as $tableName => &$ids) {
+                       foreach ($ids as &$id) {
+                               if (!empty($this->dataHandler->substNEWwithIDs[$id])) {
+                                       $id = $this->dataHandler->substNEWwithIDs[$id];
+                               }
+                       }
+               }
+
+               return $newTableIds;
        }
 
        /**
index ad52540..214346c 100644 (file)
@@ -85,6 +85,10 @@ class DataSet {
                $idIndex = NULL;
                foreach ($rawData as $values) {
                        if (!empty($values[0])) {
+                               // Skip comment lines, starting with "#"
+                               if ($values[0]{0} === '#') {
+                                       continue;
+                               }
                                $tableName = $values[0];
                                $fieldCount = NULL;
                                $idIndex = NULL;
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/AbstractActionTestCase.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/AbstractActionTestCase.php
new file mode 100644 (file)
index 0000000..8c7e19b
--- /dev/null
@@ -0,0 +1,257 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\InlineRelationalRecordEditing\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 __DIR__ . '/../../../../../../core/Tests/Functional/DataHandling/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';
+
+       /**
+        * @var string
+        */
+       protected $dataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/';
+
+       /**
+        * @var array
+        */
+       protected $coreExtensionsToLoad = array(
+               'version',
+               'workspaces',
+       );
+
+       public function setUp() {
+               parent::setUp();
+               $this->importScenarioDataSet('LiveDefaultPages');
+               $this->importScenarioDataSet('LiveDefaultElements');
+       }
+
+       /**
+        * Parent content records
+        */
+
+       /**
+        * @test
+        */
+       public function createParentContentRecord() {
+               $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('createParentContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyParentContentRecord() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyParentContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function deleteParentContentRecord() {
+               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('deleteParentContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function copyParentContentRecord() {
+               $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
+               $this->assertAssertionDataSet('copyParentContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function localizeParentContentRecord() {
+               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeParentContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function changeParentContentRecordSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('changeParentContentRecordSorting');
+       }
+
+       /**
+        * @test
+        */
+       public function moveParentContentRecordToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('moveParentContentRecordToDifferentPage');
+       }
+
+       /**
+        * @test
+        */
+       public function moveParentContentRecordToDifferentPageAndChangeSorting() {
+               $this->markTestSkipped('Something seems to be wrong here...');
+               $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');
+       }
+
+       /**
+        * Page records
+        */
+
+       /**
+        * @test
+        */
+       public function modifyPageRecord() {
+               $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyPageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function deletePageRecord() {
+               $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId);
+               $this->assertAssertionDataSet('deletePageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function copyPageRecord() {
+               $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('copyPageRecord');
+       }
+
+       /**
+        * IRRE Child Records
+        */
+
+       /**
+        * @test
+        */
+       public function createParentContentRecordWithHotelAndOfferChildRecords() {
+               $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Offer => array('title' => 'Offer #1'),
+                               self::TABLE_Hotel => array('title' => 'Hotel #1', 'offers' => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', 'tx_irretutorial_hotels' => '__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('createParentContentRecordWithHotelAndOfferChildRecords');
+       }
+
+       /**
+        * @test
+        */
+       public function createAndCopyParentContentRecordWithHotelAndOfferChildRecords() {
+               // @todo Copying 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', 'offers' => '__previousUid'),
+                               self::TABLE_Content => array('header' => 'Testing #1', 'tx_irretutorial_hotels' => '__previousUid'),
+                       )
+               );
+               $newContentId = $newTableIds['tt_content'][0];
+               $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId);
+               $this->assertAssertionDataSet('createAndCopyParentContentRecordWithHotelAndOfferChildRecords');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyOnlyHotelChildRecord() {
+               $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyOnlyHotelChildRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyParentRecordAndChangeHotelChildRecordsSorting() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array('tx_irretutorial_hotels' => '4,3'));
+               $this->assertAssertionDataSet('modifyParentRecordAndChangeHotelChildRecordsSorting');
+       }
+
+       /**
+        * @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_ContentIdLast, 'tx_irretutorial_hotels' => '3,4'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecord');
+       }
+
+       /**
+        * @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, 'tx_irretutorial_hotels' => '5,__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('modifyParentRecordAndAddHotelChildRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyParentRecordAndDeleteHotelChildRecord() {
+               $this->actionService->modifyRecord(
+                       self::TABLE_Content,
+                       self::VALUE_ContentIdFirst,
+                       array('tx_irretutorial_hotels' => '3'),
+                       array(self::TABLE_Hotel => array(4))
+               );
+               $this->assertAssertionDataSet('modifyParentRecordAndDeleteHotelChildRecord');
+       }
+
+}
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/changeParentContentRecordSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/changeParentContentRecordSorting.csv
new file mode 100644 (file)
index 0000000..0cdf9e8
--- /dev/null
@@ -0,0 +1,37 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,0,2
+,300,89,768,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",,0,0
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,0,0,3,0,"Hotel #1",299,tt_content,,2
+,7,-1,2,0,0,1,0,0,4,0,"Hotel #2",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,5,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,3
+,10,-1,2,0,0,1,0,0,6,0,"Offer #1.2",6,tx_irretutorial_1nff_hotel,,2
+,11,-1,1,0,0,1,0,0,7,0,"Offer #2.1",7,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,7,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,2,0,0,1,0,0,8,0,"Price #1.1.2",9,tx_irretutorial_1nff_offer,
+,16,-1,3,0,0,1,0,0,9,0,"Price #1.1.3",9,tx_irretutorial_1nff_offer,
+,17,-1,1,0,0,1,0,0,10,0,"Price #1.2.1",10,tx_irretutorial_1nff_offer,
+,18,-1,2,0,0,1,0,0,11,0,"Price #1.2.2",10,tx_irretutorial_1nff_offer,
+,19,-1,1,0,0,1,0,0,12,0,"Price #2.1.1",11,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyPageRecord.csv
new file mode 100644 (file)
index 0000000..187db54
--- /dev/null
@@ -0,0 +1,50 @@
+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,1,1,0,0,0,Relations
+,92,-1,256,0,1,-1,0,91,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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,91,256,0,0,0,1,1,0,0,0,"Regular Element #2",,0,0
+,300,-1,256,0,0,0,1,-1,0,299,0,"Regular Element #2",0,0,1
+,301,91,128,0,0,0,1,1,0,0,0,"Regular Element #1",,0,0
+,302,-1,128,0,0,0,1,-1,0,301,0,"Regular Element #1",0,0,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,91,1,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+,7,91,1,0,0,0,0,0,0,0,"Hotel #1",301,tt_content,,2
+,8,91,2,0,0,0,0,0,0,0,"Hotel #2",301,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,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,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+,10,91,1,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,"Offer #1.2",7,tx_irretutorial_1nff_hotel,,2
+,12,91,1,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,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,91,1,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,"Price #1.1.1",10,tx_irretutorial_1nff_offer,
+,16,91,2,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,"Price #1.1.3",10,tx_irretutorial_1nff_offer,
+,18,91,1,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,"Price #1.2.2",11,tx_irretutorial_1nff_offer,
+,20,91,1,0,0,0,0,0,0,0,"Price #2.1.1",12,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/copyParentContentRecord.csv
new file mode 100644 (file)
index 0000000..5127a9d
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,89,128,0,0,0,1,1,0,0,0,"Regular Element #2 (copy 1)",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Regular Element #2 (copy 1)",0,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,0,0,0,0,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,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,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,89,1,0,0,0,0,0,0,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv
new file mode 100644 (file)
index 0000000..bd1572f
--- /dev/null
@@ -0,0 +1,32 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,0,1
+,301,89,64,0,0,0,1,1,0,0,0,"Testing #1 (copy 1)",,0,0
+,302,-1,64,0,0,0,1,-1,0,301,0,"Testing #1 (copy 1)",0,0,0
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,1,1,0,0,0,"Hotel #1",0,,,0
+,7,-1,1,0,0,1,-1,0,6,0,"Hotel #1",300,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,0,1,1,0,0,0,"Offer #1",0,,,0
+,10,-1,1,0,0,1,-1,0,9,0,"Offer #1",7,tx_irretutorial_1nff_hotel,,0
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecord.csv
new file mode 100644 (file)
index 0000000..0ed8958
--- /dev/null
@@ -0,0 +1,6 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv
new file mode 100644 (file)
index 0000000..64e5d9c
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,0,1,1,0,0,0,"Hotel #1",0,,,0
+,7,-1,1,0,0,1,-1,0,6,0,"Hotel #1",300,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,0,1,1,0,0,0,"Offer #1",0,,,0
+,10,-1,1,0,0,1,-1,0,9,0,"Offer #1",7,tx_irretutorial_1nff_hotel,,0
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deletePageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deletePageRecord.csv
new file mode 100644 (file)
index 0000000..99de9ab
--- /dev/null
@@ -0,0 +1,31 @@
+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,-1,256,0,1,2,0,89,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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,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,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,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,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/deleteParentContentRecord.csv
new file mode 100644 (file)
index 0000000..469f9cd
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,2,0,298,0,"Regular Element #2",0,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,2,0,5,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,2,0,8,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,2,0,13,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/localizeParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/localizeParentContentRecord.csv
new file mode 100644 (file)
index 0000000..e5a63c8
--- /dev/null
@@ -0,0 +1,32 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,89,768,0,1,298,1,1,0,0,0,"[Translate to Dansk:] Regular Element #2",,0,0
+,300,-1,768,0,1,298,1,-1,0,299,0,"[Translate to Dansk:] Regular Element #2",0,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,1280,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,768,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,1,0,1,1,1,0,0,0,"[Translate to Dansk:] Hotel #1",299,tt_content,,0
+,7,-1,1024,0,1,1,-1,0,6,0,"[Translate to Dansk:] Hotel #1",298,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,1536,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1024,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,89,1,0,1,1,1,0,0,0,"[Translate to Dansk:] Offer #1.1",6,tx_irretutorial_1nff_hotel,,0
+,10,-1,1280,0,1,1,-1,0,9,0,"[Translate to Dansk:] Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,1792,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,768,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,1024,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,89,1,0,1,1,1,0,0,0,"[Translate to Dansk:] Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,1536,0,1,1,-1,0,14,0,"[Translate to Dansk:] Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyOnlyHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyOnlyHotelChildRecord.csv
new file mode 100644 (file)
index 0000000..367a5b0
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,2,0,0,1,0,0,4,0,"Testing #1",297,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,7,0,"Offer #2.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,12,0,"Price #2.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyPageRecord.csv
new file mode 100644 (file)
index 0000000..26001a9
--- /dev/null
@@ -0,0 +1,31 @@
+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,-1,256,0,1,0,0,89,0,"Testing #1"
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,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,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,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,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentContentRecord.csv
new file mode 100644 (file)
index 0000000..af499b8
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,0,0,298,0,"Testing #1",0,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,0,0,5,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,8,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,13,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv
new file mode 100644 (file)
index 0000000..0dbf527
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,0,0,298,0,"Regular Element #2",0,0,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,89,2,0,0,1,1,0,0,0,"Hotel #2",0,,,0
+,7,-1,2,0,0,1,-1,0,6,0,"Hotel #2",299,tt_content,,0
+,8,-1,1,0,0,1,0,0,5,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,8,0,"Offer #1.1",8,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,13,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv
new file mode 100644 (file)
index 0000000..5cafcb9
--- /dev/null
@@ -0,0 +1,36 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,0,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,2,0,0,1,0,0,3,0,"Hotel #1",299,tt_content,,2
+,7,-1,1,0,0,1,0,0,4,0,"Hotel #2",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,5,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,3
+,10,-1,2,0,0,1,0,0,6,0,"Offer #1.2",6,tx_irretutorial_1nff_hotel,,2
+,11,-1,1,0,0,1,0,0,7,0,"Offer #2.1",7,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,7,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,2,0,0,1,0,0,8,0,"Price #1.1.2",9,tx_irretutorial_1nff_offer,
+,16,-1,3,0,0,1,0,0,9,0,"Price #1.1.3",9,tx_irretutorial_1nff_offer,
+,17,-1,1,0,0,1,0,0,10,0,"Price #1.2.1",10,tx_irretutorial_1nff_offer,
+,18,-1,2,0,0,1,0,0,11,0,"Price #1.2.2",10,tx_irretutorial_1nff_offer,
+,19,-1,1,0,0,1,0,0,12,0,"Price #2.1.1",11,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv
new file mode 100644 (file)
index 0000000..4203445
--- /dev/null
@@ -0,0 +1,36 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,0,1
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,0,0,3,0,"Hotel #1",299,tt_content,,2
+,7,-1,2,0,0,1,2,0,4,0,"Hotel #2",297,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,5,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,3
+,10,-1,2,0,0,1,0,0,6,0,"Offer #1.2",6,tx_irretutorial_1nff_hotel,,2
+,11,-1,1,0,0,1,2,0,7,0,"Offer #2.1",7,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,7,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,2,0,0,1,0,0,8,0,"Price #1.1.2",9,tx_irretutorial_1nff_offer,
+,16,-1,3,0,0,1,0,0,9,0,"Price #1.1.3",9,tx_irretutorial_1nff_offer,
+,17,-1,1,0,0,1,0,0,10,0,"Price #1.2.1",10,tx_irretutorial_1nff_offer,
+,18,-1,2,0,0,1,0,0,11,0,"Price #1.2.2",10,tx_irretutorial_1nff_offer,
+,19,-1,1,0,0,1,2,0,12,0,"Price #2.1.1",11,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv
new file mode 100644 (file)
index 0000000..6d4cecb
--- /dev/null
@@ -0,0 +1,31 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,0,0,298,0,"Regular Element #2",0,0,2
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",299,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,2,0,0,1,0,0,4,0,"Testing #1",299,tt_content,,1
+,7,-1,1,0,0,1,0,0,5,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,7,0,"Offer #2.1",6,tx_irretutorial_1nff_hotel,,1
+,10,-1,1,0,0,1,0,0,8,0,"Offer #1.1",7,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,12,0,"Price #2.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,1,0,0,1,0,0,13,0,"Price #1.1.1",10,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv
new file mode 100644 (file)
index 0000000..6383d9a
--- /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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,0,1
+,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",,0,0
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,0,0,5,0,"Hotel #1",299,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,8,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,13,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv
new file mode 100644 (file)
index 0000000..bdccd66
--- /dev/null
@@ -0,0 +1,42 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,90,384,0,0,0,0,0,0,0,0,"Regular Element #1",,0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,1
+,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,0,1
+,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",,0,0
+,301,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,0,2
+,302,90,512,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",,0,0
+tx_irretutorial_1nff_hotel
+,uid,pid,sorting,deleted,sys_language_uid,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,"Hotel #1",297,tt_content,,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,tt_content,,1
+,5,89,1,0,0,0,0,0,0,0,"Hotel #1",298,tt_content,,1
+,6,-1,1,0,0,1,0,0,5,0,"Hotel #1",299,tt_content,,1
+,7,-1,1,0,0,1,0,0,3,0,"Hotel #1",301,tt_content,,2
+,8,-1,2,0,0,1,0,0,4,0,"Hotel #2",301,tt_content,,1
+tx_irretutorial_1nff_offer
+,uid,pid,sorting,deleted,sys_language_uid,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,"Offer #1.1",3,tx_irretutorial_1nff_hotel,,3
+,6,89,2,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,"Offer #2.1",4,tx_irretutorial_1nff_hotel,,1
+,8,89,1,0,0,0,0,0,0,0,"Offer #1.1",5,tx_irretutorial_1nff_hotel,,1
+,9,-1,1,0,0,1,0,0,8,0,"Offer #1.1",6,tx_irretutorial_1nff_hotel,,1
+,10,-1,1,0,0,1,0,0,5,0,"Offer #1.1",7,tx_irretutorial_1nff_hotel,,3
+,11,-1,2,0,0,1,0,0,6,0,"Offer #1.2",7,tx_irretutorial_1nff_hotel,,2
+,12,-1,1,0,0,1,0,0,7,0,"Offer #2.1",8,tx_irretutorial_1nff_hotel,,1
+tx_irretutorial_1nff_price
+,uid,pid,sorting,deleted,sys_language_uid,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,"Price #1.1.1",5,tx_irretutorial_1nff_offer,
+,8,89,2,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,"Price #1.1.3",5,tx_irretutorial_1nff_offer,
+,10,89,1,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,"Price #1.2.2",6,tx_irretutorial_1nff_offer,
+,12,89,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,"Price #1.1.1",8,tx_irretutorial_1nff_offer,
+,14,-1,1,0,0,1,0,0,13,0,"Price #1.1.1",9,tx_irretutorial_1nff_offer,
+,15,-1,1,0,0,1,0,0,7,0,"Price #1.1.1",10,tx_irretutorial_1nff_offer,
+,16,-1,2,0,0,1,0,0,8,0,"Price #1.1.2",10,tx_irretutorial_1nff_offer,
+,17,-1,3,0,0,1,0,0,9,0,"Price #1.1.3",10,tx_irretutorial_1nff_offer,
+,18,-1,1,0,0,1,0,0,10,0,"Price #1.2.1",11,tx_irretutorial_1nff_offer,
+,19,-1,2,0,0,1,0,0,11,0,"Price #1.2.2",11,tx_irretutorial_1nff_offer,
+,20,-1,1,0,0,1,0,0,12,0,"Price #2.1.1",12,tx_irretutorial_1nff_offer,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultElements.csv
new file mode 100644 (file)
index 0000000..81f889f
--- /dev/null
@@ -0,0 +1,35 @@
+sys_workspace
+,uid,pid,deleted,title,adminusers,members,reviewers,db_mountpoints,file_mountpoints,freeze,live_edit,vtypes,disable_autocreate,swap_modes,publish_access,custom_stages,stagechg_notification,edit_notification_mode,edit_notification_defaults,edit_allow_notificaton_settings,publish_notification_mode,publish_notification_defaults,publish_allow_notificaton_settings
+,1,0,0,"Workspace #1",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+,2,0,0,"Workspace #2",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+sys_workspace_stage
+,uid,pid,tstamp,deleted,sorting,title,responsible_persons,default_mailcomment,parentid,parenttable,notification_mode,notification_defaults,allow_notificaton_settings
+,1,0,1290048921,0,1,"Stage 1",be_users_3,,1,sys_workspace,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","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1","\NULL",0,2
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2","\NULL",0,1
+"tx_irretutorial_1nff_hotel",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","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,"Hotel #1",297,"tt_content",,2
+,4,89,2,0,0,0,0,0,0,0,"Hotel #2",297,"tt_content",,1
+,5,89,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","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,"Offer #1.1",3,"tx_irretutorial_1nff_hotel",,3
+,6,89,2,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,"Offer #2.1",4,"tx_irretutorial_1nff_hotel",,1
+,8,89,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","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,"Price #1.1.1",5,"tx_irretutorial_1nff_offer",,
+,8,89,2,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,"Price #1.1.3",5,"tx_irretutorial_1nff_offer",,
+,10,89,1,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,"Price #1.2.2",6,"tx_irretutorial_1nff_offer",,
+,12,89,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,"Price #1.1.1",8,"tx_irretutorial_1nff_offer",,
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/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/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/WorkspaceActionTest.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/ForeignField/WorkspaceActionTest.php
new file mode 100644 (file)
index 0000000..b34ca1d
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\InlineRelationalRecordEditing\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 WorkspaceActionTest extends AbstractActionTestCase {
+
+       public function setUp() {
+               parent::setUp();
+               $this->backendUser->workspace = 1;
+       }
+
+}
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
new file mode 100644 (file)
index 0000000..13d0eea
--- /dev/null
@@ -0,0 +1,229 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany;
+
+/***************************************************************
+ * 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 __DIR__ . '/../../../../../core/Tests/Functional/DataHandling/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_ContentIdFirst = 297;
+       const VALUE_ContentIdLast = 298;
+       const VALUE_LanguageId = 1;
+       const VALUE_CategoryIdFirst = 28;
+       const VALUE_CategoryIdSecond = 29;
+
+       const TABLE_Content = 'tt_content';
+       const TABLE_Category = 'sys_category';
+       const TABLE_ContentCategory_ManyToMany = 'sys_category_record_mm';
+
+       /**
+        * @var string
+        */
+       protected $dataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/';
+
+       /**
+        * @var array
+        */
+       protected $coreExtensionsToLoad = array(
+               'version',
+               'workspaces',
+       );
+
+       public function setUp() {
+               parent::setUp();
+               $this->importScenarioDataSet('LiveDefaultPages');
+               $this->importScenarioDataSet('LiveDefaultElements');
+       }
+
+       /**
+        * MM Relations
+        */
+
+       /**
+        * @test
+        */
+       public function addCategoryRelation() {
+               $this->actionService->modifyReferences(
+                       self::TABLE_Content, self::VALUE_ContentIdFirst, 'categories', array(self::VALUE_CategoryIdFirst, self::VALUE_CategoryIdSecond, 31)
+               );
+               $this->assertAssertionDataSet('addCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function deleteCategoryRelation() {
+               $this->actionService->modifyReferences(
+                       self::TABLE_Content, self::VALUE_ContentIdFirst, 'categories', array(self::VALUE_CategoryIdFirst)
+               );
+               $this->assertAssertionDataSet('deleteCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function changeCategoryRelationSorting() {
+               $this->actionService->modifyReferences(
+                       self::TABLE_Content, self::VALUE_ContentIdFirst, 'categories', array(self::VALUE_CategoryIdSecond, self::VALUE_CategoryIdFirst)
+               );
+               $this->assertAssertionDataSet('changeCategoryRelationSorting');
+       }
+
+       /**
+        * @test
+        */
+       public function createContentRecordAndAddCategoryRelation() {
+               $this->actionService->createNewRecord(
+                       self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1', 'categories' => self::VALUE_CategoryIdSecond)
+               );
+               $this->assertAssertionDataSet('createContentRecordAndAddCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function createCategoryRecordAndAddCategoryRelation() {
+               $this->actionService->createNewRecord(
+                       self::TABLE_Category, 0, array('title' => 'Testing #1', 'items' => 'tt_content_' . self::VALUE_ContentIdFirst)
+               );
+               $this->assertAssertionDataSet('createCategoryRecordAndAddCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function createContentRecordAndCreateCategoryRelation() {
+               $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Category => array('title' => 'Testing #1'),
+                               self::TABLE_Content => array('header' => 'Testing #1', 'categories' => '__previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('createContentRecordAndCreateCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function createCategoryRecordAndCreateCategoryRelation() {
+               $this->markTestSkipped('The new content record cannot be referenced in the new category record');
+               $this->actionService->createNewRecords(
+                       self::VALUE_PageId,
+                       array(
+                               self::TABLE_Content => array('header' => 'Testing #1',),
+                               self::TABLE_Category => array('title' => 'Testing #1', 'items' => 'tt_content___previousUid'),
+                       )
+               );
+               $this->assertAssertionDataSet('createCategoryRecordAndCreateCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyCategoryRecordOfCategoryRelation() {
+               $this->actionService->modifyRecord(self::TABLE_Category, self::VALUE_CategoryIdFirst, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyCategoryRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyContentRecordOfCategoryRelation() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyContentRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyBothRecordsOfCategoryRelation() {
+               $this->actionService->modifyRecord(self::TABLE_Category, self::VALUE_CategoryIdFirst, array('title' => 'Testing #1'));
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyBothRecordsOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function deleteContentRecordOfCategoryRelation() {
+               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('deleteContentRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function deleteCategoryRecordOfCategoryRelation() {
+               $this->actionService->deleteRecord(self::TABLE_Category, self::VALUE_CategoryIdFirst);
+               $this->assertAssertionDataSet('deleteCategoryRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function copyContentRecordOfCategoryRelation() {
+               $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
+               $this->assertAssertionDataSet('copyContentRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function copyCategoryRecordOfCategoryRelation() {
+               $this->actionService->copyRecord(self::TABLE_Category, self::VALUE_CategoryIdFirst, 0);
+               $this->assertAssertionDataSet('copyCategoryRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function localizeContentRecordOfCategoryRelation() {
+               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeContentRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function localizeCategoryRecordOfCategoryRelation() {
+               $this->actionService->localizeRecord(self::TABLE_Category, self::VALUE_CategoryIdFirst, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeCategoryRecordOfCategoryRelation');
+       }
+
+       /**
+        * @test
+        */
+       public function moveContentRecordOfCategoryRelationToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('moveContentRecordOfCategoryRelationToDifferentPage');
+       }
+
+}
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/addCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/addCategoryRelation.csv
new file mode 100644 (file)
index 0000000..6cb9587
--- /dev/null
@@ -0,0 +1,21 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,28,299,tt_content,0,1,categories
+,29,299,tt_content,0,2,categories
+,31,299,tt_content,0,3,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,3,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/changeCategoryRelationSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/changeCategoryRelationSorting.csv
new file mode 100644 (file)
index 0000000..5d03a13
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- Sorting relation in workspace ---
+,28,299,tt_content,0,2,categories
+,29,299,tt_content,0,1,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..77e2520
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,0,128,0,0,0,1,1,0,0,0,"Category A",0,1
+,33,-1,128,0,0,0,1,-1,0,32,0,"Category A",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,33,297,tt_content,1,0,\*categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/copyContentRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..76698ad
--- /dev/null
@@ -0,0 +1,21 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,29,300,tt_content,0,1,categories
+,30,300,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,89,128,0,0,0,1,1,0,0,0,"Regular Element #2 (copy 1)",,2,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Regular Element #2 (copy 1)",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndAddCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndAddCategoryRelation.csv
new file mode 100644 (file)
index 0000000..9ffd942
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,0,128,0,0,0,1,1,0,0,0,"Testing #1",0,1
+,33,-1,128,0,0,0,1,-1,0,32,0,"Testing #1",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,33,297,tt_content,1,0,\*categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndCreateCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createCategoryRecordAndCreateCategoryRelation.csv
new file mode 100644 (file)
index 0000000..c6e5c1c
--- /dev/null
@@ -0,0 +1,22 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,89,256,0,0,0,1,1,0,0,0,"Testing #1",0,0
+,33,-1,256,0,0,0,1,-1,0,32,0,"Testing #1",0,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace changes ---
+,33,300,tt_content,0,1,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndAddCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndAddCategoryRelation.csv
new file mode 100644 (file)
index 0000000..ceca2b4
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace changes ---
+,29,300,tt_content,0,1,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,1,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,1,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndCreateCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/createContentRecordAndCreateCategoryRelation.csv
new file mode 100644 (file)
index 0000000..eca9432
--- /dev/null
@@ -0,0 +1,22 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,89,256,0,0,0,1,1,0,0,0,"Testing #1",0,0
+,33,-1,256,0,0,0,1,-1,0,32,0,"Testing #1",0,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,33,300,tt_content,0,1,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,1,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..484c696
--- /dev/null
@@ -0,0 +1,19 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,-1,256,0,0,0,1,2,0,28,0,"Category A",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,32,297,tt_content,1,0,\*categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteCategoryRelation.csv
new file mode 100644 (file)
index 0000000..aa8cb97
--- /dev/null
@@ -0,0 +1,19 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,28,299,tt_content,0,1,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,1,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..d9e5181
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,29,299,tt_content,0,1,categories
+,30,299,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,512,0,0,0,1,2,0,298,0,"Regular Element #2",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..156a35c
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,0,384,0,1,28,1,1,0,0,0,"Category A",0,1
+,33,-1,384,0,1,28,1,-1,0,32,0,"Category A",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ----
+,33,297,tt_content,1,0,\*categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..95253c7
--- /dev/null
@@ -0,0 +1,21 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,29,300,tt_content,0,1,categories
+,30,300,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,89,768,0,1,298,1,1,0,0,0,"[Translate to Dansk:] Regular Element #2",,2,0
+,300,-1,768,0,1,298,1,-1,0,299,0,"[Translate to Dansk:] Regular Element #2",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..84ad339
--- /dev/null
@@ -0,0 +1,22 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,-1,256,0,0,0,1,0,0,28,0,"Testing #1",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,32,297,tt_content,1,0,\*categories
+,28,299,tt_content,0,1,categories
+,29,299,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,256,0,0,0,1,0,0,297,0,"Testing #1",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..e0a7d3f
--- /dev/null
@@ -0,0 +1,19 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+,32,-1,256,0,0,0,1,0,0,28,0,"Testing #1",0,1
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,32,297,tt_content,1,0,\*categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv
new file mode 100644 (file)
index 0000000..aa1b0be
--- /dev/null
@@ -0,0 +1,20 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,28,299,tt_content,0,1,categories
+,29,299,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,256,0,0,0,1,0,0,297,0,"Testing #1",0,2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv
new file mode 100644 (file)
index 0000000..5f23a0f
--- /dev/null
@@ -0,0 +1,21 @@
+sys_category
+,uid,pid,sorting,deleted,sys_language_uid,l10n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,parent,items
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0
+sys_category_record_mm
+,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,fieldname
+,28,297,tt_content,0,1,categories
+,29,297,tt_content,0,2,categories
+,29,298,tt_content,0,1,categories
+,30,298,tt_content,0,2,categories
+# --- workspace change ---
+,29,299,tt_content,0,1,categories
+,30,299,tt_content,0,2,categories
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,2,0
+,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,2,0
+,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Scenario/LiveDefaultElements.csv
new file mode 100644 (file)
index 0000000..b04c8c0
--- /dev/null
@@ -0,0 +1,27 @@
+sys_workspace
+,uid,pid,deleted,title,adminusers,members,reviewers,db_mountpoints,file_mountpoints,freeze,live_edit,vtypes,disable_autocreate,swap_modes,publish_access,custom_stages,stagechg_notification,edit_notification_mode,edit_notification_defaults,edit_allow_notificaton_settings,publish_notification_mode,publish_notification_defaults,publish_allow_notificaton_settings
+,1,0,0,"Workspace #1",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+,2,0,0,"Workspace #2",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+sys_workspace_stage
+,uid,pid,tstamp,deleted,sorting,title,responsible_persons,default_mailcomment,parentid,parenttable,notification_mode,notification_defaults,allow_notificaton_settings
+,1,0,1290048921,0,1,"Stage 1",be_users_3,,1,sys_workspace,0,,0
+"sys_language",,,,,,,,,,,,,,,
+,"uid","pid","hidden","title","flag",,,,,,,,,,
+,1,0,0,"Dansk","dk",,,,,,,,,,
+,2,0,0,"Deutsch","de",,,,,,,,,,
+"sys_category",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","title","parent","items",
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0,
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0,
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0,
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0,
+"sys_category_record_mm",,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","header","image","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1","\NULL",2,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2","\NULL",2,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/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/workspaces/Tests/Functional/DataHandling/ManyToMany/WorkspaceActionTest.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/WorkspaceActionTest.php
new file mode 100644 (file)
index 0000000..16f34a5
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany;
+
+/***************************************************************
+ * 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 WorkspaceActionTest extends AbstractActionTestCase {
+
+       public function setUp() {
+               parent::setUp();
+               $this->backendUser->workspace = 1;
+       }
+
+}
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php
new file mode 100644 (file)
index 0000000..50f7129
--- /dev/null
@@ -0,0 +1,205 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\Regular;
+
+/***************************************************************
+ * 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 __DIR__ . '/../../../../../core/Tests/Functional/DataHandling/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';
+
+       /**
+        * @var array
+        */
+       protected $coreExtensionsToLoad = array(
+               'version',
+               'workspaces',
+       );
+
+       /**
+        * @var string
+        */
+       protected $dataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/';
+
+       public function setUp() {
+               parent::setUp();
+               $this->importScenarioDataSet('LiveDefaultPages');
+               $this->importScenarioDataSet('LiveDefaultElements');
+       }
+
+       /**
+        * Content records
+        */
+
+       /**
+        * @test
+        */
+       public function createContentRecords() {
+               // Creating record at the beginning of the page
+               $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1'));
+               // Creating record at the end of the page (after last one)
+               $this->actionService->createNewRecord(self::TABLE_Content, -self::VALUE_ContentIdLast, array('header' => 'Testing #2'));
+               $this->assertAssertionDataSet('createContentRecords');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyContentRecord() {
+               $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function deleteContentRecord() {
+               $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('deleteContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function copyContentRecord() {
+               $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId);
+               $this->assertAssertionDataSet('copyContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function localizeContentRecord() {
+               $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizeContentRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function changeContentRecordSorting() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast);
+               $this->assertAssertionDataSet('changeContentRecordSorting');
+       }
+
+       /**
+        * @test
+        */
+       public function moveContentRecordToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('moveContentRecordToDifferentPage');
+       }
+
+       /**
+        * @test
+        */
+       public function moveContentRecordToDifferentPageAndChangeSorting() {
+               $this->markTestSkipped('Something seems to be wrong here...');
+               $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('moveContentRecordToDifferentPageAndChangeSorting');
+       }
+
+       /**
+        * Page records
+        */
+
+       /**
+        * @test
+        */
+       public function createPageRecord() {
+               $this->actionService->createNewRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('createPageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function modifyPageRecord() {
+               $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1'));
+               $this->assertAssertionDataSet('modifyPageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function deletePageRecord() {
+               $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId);
+               $this->assertAssertionDataSet('deletePageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function copyPageRecord() {
+               $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('copyPageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function localizePageRecord() {
+               $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
+               $this->assertAssertionDataSet('localizePageRecord');
+       }
+
+       /**
+        * @test
+        */
+       public function changePageRecordSorting() {
+               $this->actionService->moveRecord(self::TABLE_Page, self::VALUE_PageId, -self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('changePageRecordSorting');
+       }
+
+       /**
+        * @test
+        */
+       public function movePageRecordToDifferentPage() {
+               $this->actionService->moveRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('movePageRecordToDifferentPage');
+       }
+
+       /**
+        * @test
+        */
+       public function movePageRecordToDifferentPageAndChangeSorting() {
+               $this->actionService->moveRecord(self::TABLE_Page, self::VALUE_PageIdTarget, self::VALUE_PageIdWebsite);
+               $this->actionService->moveRecord(self::TABLE_Page, self::VALUE_PageId, -self::VALUE_PageIdTarget);
+               $this->assertAssertionDataSet('movePageRecordToDifferentPageAndChangeSorting');
+       }
+
+}
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentRecordSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changeContentRecordSorting.csv
new file mode 100644 (file)
index 0000000..5405bc2
--- /dev/null
@@ -0,0 +1,6 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,0,0
+,300,89,768,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageRecordSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/changePageRecordSorting.csv
new file mode 100644 (file)
index 0000000..04b042c
--- /dev/null
@@ -0,0 +1,12 @@
+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,-1,256,0,1,4,0,89,0,Relations
+,92,88,768,0,1,3,0,0,89,"[MOVE-TO PLACEHOLDER for #89, WS#1]"
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyContentRecord.csv
new file mode 100644 (file)
index 0000000..e125733
--- /dev/null
@@ -0,0 +1,6 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,89,128,0,0,0,1,1,0,0,0,"Regular Element #2 (copy 1)",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Regular Element #2 (copy 1)",0,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/copyPageRecord.csv
new file mode 100644 (file)
index 0000000..b0953eb
--- /dev/null
@@ -0,0 +1,16 @@
+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,1,1,0,0,0,Relations
+,92,-1,256,0,1,-1,0,91,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_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,91,256,0,0,0,1,1,0,0,0,"Regular Element #2",,0,0
+,300,-1,256,0,0,0,1,-1,0,299,0,"Regular Element #2",0,0,0
+,301,91,128,0,0,0,1,1,0,0,0,"Regular Element #1",,0,0
+,302,-1,128,0,0,0,1,-1,0,301,0,"Regular Element #1",0,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createContentRecords.csv
new file mode 100644 (file)
index 0000000..c354ebe
--- /dev/null
@@ -0,0 +1,8 @@
+"tt_content",,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","header","image","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1","\NULL",0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2","\NULL",0,0
+,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",,0,0
+,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,0,0
+,301,89,768,0,0,0,1,1,0,0,0,"Testing #2",,0,0
+,302,-1,768,0,0,0,1,-1,0,301,0,"Testing #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/createPageRecord.csv
new file mode 100644 (file)
index 0000000..1b7a46a
--- /dev/null
@@ -0,0 +1,8 @@
+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,89,256,0,1,1,0,0,0,"Testing #1"
+,92,-1,256,0,1,-1,0,91,0,"Testing #1"
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deleteContentRecord.csv
new file mode 100644 (file)
index 0000000..e2223a7
--- /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","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,-1,512,0,0,0,1,2,0,298,0,"Regular Element #2",0,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/deletePageRecord.csv
new file mode 100644 (file)
index 0000000..e6962cf
--- /dev/null
@@ -0,0 +1,11 @@
+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,-1,256,0,1,2,0,89,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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizeContentRecord.csv
new file mode 100644 (file)
index 0000000..ff2ba00
--- /dev/null
@@ -0,0 +1,6 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,89,768,0,1,298,1,1,0,0,0,"[Translate to Dansk:] Regular Element #2",,0,0
+,300,-1,768,0,1,298,1,-1,0,299,0,"[Translate to Dansk:] Regular Element #2",0,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/localizePageRecord.csv
new file mode 100644 (file)
index 0000000..076e4e2
--- /dev/null
@@ -0,0 +1,14 @@
+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
+pages_language_overlay
+,uid,pid,deleted,sys_language_uid,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,title
+,1,89,0,1,1,1,0,0,"[Translate to Dansk:] Relations"
+,2,-1,0,1,1,-1,0,1,"[Translate to Dansk:] 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,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyContentRecord.csv
new file mode 100644 (file)
index 0000000..621942a
--- /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","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,-1,512,0,0,0,1,0,0,298,0,"Testing #1",0,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/modifyPageRecord.csv
new file mode 100644 (file)
index 0000000..920549c
--- /dev/null
@@ -0,0 +1,7 @@
+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,-1,256,0,1,0,0,89,0,"Testing #1"
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPage.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPage.csv
new file mode 100644 (file)
index 0000000..374fde9
--- /dev/null
@@ -0,0 +1,6 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,0,0
+,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/moveContentRecordToDifferentPageAndChangeSorting.csv
new file mode 100644 (file)
index 0000000..efbf94a
--- /dev/null
@@ -0,0 +1,8 @@
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
+,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,0,0
+,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",,0,0
+,301,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,0,0
+,302,90,512,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPage.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPage.csv
new file mode 100644 (file)
index 0000000..f43ab9f
--- /dev/null
@@ -0,0 +1,12 @@
+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,-1,256,0,1,4,0,89,0,Relations
+,92,90,256,0,1,3,0,0,89,"[MOVE-TO PLACEHOLDER for #89, WS#1]"
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Assertion/movePageRecordToDifferentPageAndChangeSorting.csv
new file mode 100644 (file)
index 0000000..b720ab1
--- /dev/null
@@ -0,0 +1,14 @@
+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,1,160,0,0,0,0,0,0,Relations
+,90,88,512,0,0,0,0,0,0,Target
+,91,-1,512,0,1,4,0,90,0,Target
+,92,1,128,0,1,3,0,0,90,"[MOVE-TO PLACEHOLDER for #90, WS#1]"
+,93,-1,256,0,1,4,0,89,0,Relations
+,94,1,192,0,1,3,0,0,89,"[MOVE-TO PLACEHOLDER for #89, WS#1]"
+tt_content
+,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,categories,tx_irretutorial_hotels
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Scenario/LiveDefaultElements.csv
new file mode 100644 (file)
index 0000000..eae28bd
--- /dev/null
@@ -0,0 +1,21 @@
+sys_workspace
+,uid,pid,deleted,title,adminusers,members,reviewers,db_mountpoints,file_mountpoints,freeze,live_edit,vtypes,disable_autocreate,swap_modes,publish_access,custom_stages,stagechg_notification,edit_notification_mode,edit_notification_defaults,edit_allow_notificaton_settings,publish_notification_mode,publish_notification_defaults,publish_allow_notificaton_settings
+,1,0,0,"Workspace #1",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+,2,0,0,"Workspace #2",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0
+sys_workspace_stage
+,uid,pid,tstamp,deleted,sorting,title,responsible_persons,default_mailcomment,parentid,parenttable,notification_mode,notification_defaults,allow_notificaton_settings
+,1,0,1290048921,0,1,"Stage 1",be_users_3,,1,sys_workspace,0,,0
+"sys_language",,,,,,,,,,,,,,,
+,"uid","pid","hidden","title","flag",,,,,,,,,,
+,1,0,0,"Dansk","dk",,,,,,,,,,
+,2,0,0,"Deutsch","de",,,,,,,,,,
+"sys_category",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","title","parent","items",
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0,
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0,
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0,
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,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","categories","tx_irretutorial_hotels"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1","\NULL",0,0
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2","\NULL",0,0
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/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/workspaces/Tests/Functional/DataHandling/Regular/WorkspaceActionTest.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/WorkspaceActionTest.php
new file mode 100644 (file)
index 0000000..48eac21
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\Regular;
+
+/***************************************************************
+ * 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 WorkspaceActionTest extends AbstractActionTestCase {
+
+       public function setUp() {
+               parent::setUp();
+               $this->backendUser->workspace = 1;
+       }
+
+}