diff --git a/Tests/Functional/ViewHelpers/CsvHeaderViewHelperTest.php b/Tests/Functional/ViewHelpers/CsvHeaderViewHelperTest.php new file mode 100644 index 00000000..fce4bbd8 --- /dev/null +++ b/Tests/Functional/ViewHelpers/CsvHeaderViewHelperTest.php @@ -0,0 +1,64 @@ +testExtensionsToLoad[] = 'extcode/cart'; + + parent::setUp(); + } + + #[Test] + public function headerExportsToCsvLine(): void + { + $template = __DIR__ . '/Fixtures/CsvHeader.html'; + $view = $this->getView($template); + $content = $view->render(); + + self::assertSame( + '"Order Number","Order Date","Invoice Number","Invoice Date","Salutation","Title","FirstName","LastName"' . "\n", + $content + ); + } + + #[Test] + public function headerExportsToCsvLineWithDifferentDelimAndQuote(): void + { + $template = __DIR__ . '/Fixtures/CsvHeaderWithDifferentDelimAndQuote.html'; + $view = $this->getView($template); + $content = $view->render(); + + self::assertSame( + '\'Order Number\'|\'Order Date\'|\'Invoice Number\'|\'Invoice Date\'|\'Salutation\'|\'Title\'|\'FirstName\'|\'LastName\'' . "\n", + $content + ); + } + + private function getView(string $template): ViewInterface + { + $viewFactory = GeneralUtility::makeInstance(ViewFactoryInterface::class); + return $viewFactory->create(new ViewFactoryData(null, null, null, $template)); + } +} diff --git a/Tests/Functional/ViewHelpers/Fixtures/CsvHeader.html b/Tests/Functional/ViewHelpers/Fixtures/CsvHeader.html new file mode 100644 index 00000000..22f568aa --- /dev/null +++ b/Tests/Functional/ViewHelpers/Fixtures/CsvHeader.html @@ -0,0 +1 @@ + diff --git a/Tests/Functional/ViewHelpers/Fixtures/CsvHeaderWithDifferentDelimAndQuote.html b/Tests/Functional/ViewHelpers/Fixtures/CsvHeaderWithDifferentDelimAndQuote.html new file mode 100644 index 00000000..f8799d62 --- /dev/null +++ b/Tests/Functional/ViewHelpers/Fixtures/CsvHeaderWithDifferentDelimAndQuote.html @@ -0,0 +1 @@ +