first commit

This commit is contained in:
salam committed 2026-10-06 19:40:28 +02:00
commit e81864e683
2984 files changed
+267797

No files matched your search

@@ -0,0 +1,127 @@
<?php declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace BK2K\BootstrapPackage\Tests\Functional\Parser;
use BK2K\BootstrapPackage\Service\CompileService;
use PHPUnit\Framework\ExpectationFailedException;
use TYPO3\CMS\Core\Core\Environment;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* Testcase for class \BK2K\BootstrapPackage\Parser\ScssParser
*/
class ScssParserTest extends FunctionalTestCase
{
/**
* @var array
*/
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package',
'typo3conf/ext/demo_package',
];
/**
* Asserts that a file contains a needle.
*/
protected static function assertFileContains(string $filename, string $needle): void
{
self::assertFileIsReadable($filename);
$content = (string) file_get_contents($filename);
try {
self::assertStringContainsString($needle, $content);
} catch (ExpectationFailedException $e) {
self::fail(\sprintf(
'Failed asserting that file \'%s\' contains \'%s\'',
$filename,
$needle
));
}
}
/**
* @test
* @dataProvider scssParserCanCompileTestDataProvider
*/
public function scssParserCanCompileTest(string $inputFile): void
{
$compileService = GeneralUtility::makeInstance(CompileService::class);
$compiledFile = $compileService->getCompiledFile($inputFile);
self::assertFileExists(Environment::getPublicPath() . '/' . $compiledFile);
}
/**
* @return array
*/
public function scssParserCanCompileTestDataProvider(): array
{
return [
'direct include' => [
'inputFile' => 'typo3conf/ext/bootstrap_package/Resources/Public/Scss/bootstrap5/theme.scss'
],
'relative include from symlinked package' => [
'inputFile' => 'typo3conf/ext/demo_package/Resources/Private/Scss/Relative/theme.scss'
],
'core syntax' => [
'inputFile' => 'typo3conf/ext/demo_package/Resources/Private/Scss/CoreSyntax/theme.scss'
],
'legacy include' => [
'inputFile' => 'typo3conf/ext/demo_package/Resources/Private/Scss/Legacy/theme.scss'
],
];
}
/**
* @test
*/
public function urlsAreRelativeToTempTest(): void
{
$compileService = GeneralUtility::makeInstance(CompileService::class);
$compiledFile = Environment::getPublicPath() . '/' . $compileService->getCompiledFile(
'typo3conf/ext/bootstrap_package/Resources/Public/Scss/bootstrap5/theme.scss'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/bootstrap_package/Resources/Public/Images/PhotoSwipe/default-skin.png")'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/bootstrap_package/Resources/Public/Images/PhotoSwipe/default-skin.svg")'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/bootstrap_package/Resources/Public/Images/PhotoSwipe/preloader.gif")'
);
}
/**
* @test
*/
public function sitepackageImagesAreUsedTest(): void
{
$compileService = GeneralUtility::makeInstance(CompileService::class);
$compiledFile = Environment::getPublicPath() . '/' . $compileService->getCompiledFile(
'typo3conf/ext/demo_package/Resources/Private/Scss/Relative/theme.scss'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/demo_package/Resources/Public/Images/PhotoSwipe/default-skin.png")'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/demo_package/Resources/Public/Images/PhotoSwipe/default-skin.svg")'
);
self::assertFileContains(
$compiledFile,
'url("../../../../typo3conf/ext/demo_package/Resources/Public/Images/PhotoSwipe/preloader.gif")'
);
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\AccordionContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class AccordionContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new AccordionContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new AccordionContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/AccordionContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/AccordionContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/AccordionContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\AccordionMediaOrientUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class AccordionMediaOrientUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new AccordionMediaOrientUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new AccordionMediaOrientUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/AccordionMediaOrientUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/AccordionMediaOrientUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/AccordionMediaOrientUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\BackendLayoutUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class BackendLayoutUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new BackendLayoutUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new BackendLayoutUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/BackendLayoutUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/BackendLayoutUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/BackendLayoutUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\BulletContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class BulletContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new BulletContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new BulletContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/BulletContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/BulletContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/BulletContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\CarouselContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class CarouselContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new CarouselContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new CarouselContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/CarouselContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\CarouselItemLayoutUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class CarouselItemLayoutUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new CarouselItemLayoutUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new CarouselItemLayoutUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/CarouselItemLayoutUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselItemLayoutUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselItemLayoutUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\CarouselItemTypeUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class CarouselItemTypeUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new CarouselItemTypeUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new CarouselItemTypeUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/CarouselItemTypeUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselItemTypeUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/CarouselItemTypeUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\ExternalMediaContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class ExternalMediaContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new ExternalMediaContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new ExternalMediaContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/ExternalMediaContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/ExternalMediaContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/ExternalMediaContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,bootstrap_package_accordion
1 tt_content
2 uid pid CType
3 1 1 bootstrap_package_accordion
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,accordion
1 tt_content
2 uid pid CType
3 1 1 accordion
@@ -0,0 +1,4 @@
"tx_bootstrappackage_accordion_item",,,
,uid,pid,mediaorient
,1,1,0
,2,1,1
1 tx_bootstrappackage_accordion_item
2 uid pid mediaorient
3 1 1 0
4 2 1 1
@@ -0,0 +1,4 @@
"tx_bootstrappackage_accordion_item",,,
,uid,pid,mediaorient
,1,1,left
,2,1,right
1 tx_bootstrappackage_accordion_item
2 uid pid mediaorient
3 1 1 left
4 2 1 right
@@ -0,0 +1,35 @@
"pages",,,,
,uid,pid,backend_layout,backend_layout_next_level
,1,0,pagets__clean,pagets__clean
,2,0,pagets__default_clean,pagets__default_clean
,3,0,pagets__default_2_columns,pagets__default_2_columns
,4,0,pagets__default_2_columns_25_75,pagets__default_2_columns_25_75
,5,0,pagets__default_2_columns_50_50,pagets__default_2_columns_50_50
,6,0,pagets__default_2_columns_offset_right,pagets__default_2_columns_offset_right
,7,0,pagets__default_3_columns,pagets__default_3_columns
,8,0,pagets__default_subnavigation_right,pagets__default_subnavigation_right
,9,0,pagets__default_subnavigation_right_2_columns,pagets__default_subnavigation_right_2_columns
,10,0,pagets__default_subnavigation_left,pagets__default_subnavigation_left
,11,0,pagets__default_subnavigation_left_2_columns,pagets__default_subnavigation_left_2_columns
,12,0,pagets__clean,
,13,0,pagets__default_clean,
,14,0,pagets__default_2_columns,
,15,0,pagets__default_2_columns_25_75,
,16,0,pagets__default_2_columns_50_50,
,17,0,pagets__default_2_columns_offset_right,
,18,0,pagets__default_3_columns,
,19,0,pagets__default_subnavigation_right,
,20,0,pagets__default_subnavigation_right_2_columns,
,21,0,pagets__default_subnavigation_left,
,22,0,pagets__default_subnavigation_left_2_columns,
,23,0,,pagets__clean
,24,0,,pagets__default_clean
,25,0,,pagets__default_2_columns
,26,0,,pagets__default_2_columns_25_75
,27,0,,pagets__default_2_columns_50_50
,28,0,,pagets__default_2_columns_offset_right
,29,0,,pagets__default_3_columns
,30,0,,pagets__default_subnavigation_right
,31,0,,pagets__default_subnavigation_right_2_columns
,32,0,,pagets__default_subnavigation_left
,34,0,,pagets__default_subnavigation_left_2_columns
1 pages
2 uid pid backend_layout backend_layout_next_level
3 1 0 pagets__clean pagets__clean
4 2 0 pagets__default_clean pagets__default_clean
5 3 0 pagets__default_2_columns pagets__default_2_columns
6 4 0 pagets__default_2_columns_25_75 pagets__default_2_columns_25_75
7 5 0 pagets__default_2_columns_50_50 pagets__default_2_columns_50_50
8 6 0 pagets__default_2_columns_offset_right pagets__default_2_columns_offset_right
9 7 0 pagets__default_3_columns pagets__default_3_columns
10 8 0 pagets__default_subnavigation_right pagets__default_subnavigation_right
11 9 0 pagets__default_subnavigation_right_2_columns pagets__default_subnavigation_right_2_columns
12 10 0 pagets__default_subnavigation_left pagets__default_subnavigation_left
13 11 0 pagets__default_subnavigation_left_2_columns pagets__default_subnavigation_left_2_columns
14 12 0 pagets__clean
15 13 0 pagets__default_clean
16 14 0 pagets__default_2_columns
17 15 0 pagets__default_2_columns_25_75
18 16 0 pagets__default_2_columns_50_50
19 17 0 pagets__default_2_columns_offset_right
20 18 0 pagets__default_3_columns
21 19 0 pagets__default_subnavigation_right
22 20 0 pagets__default_subnavigation_right_2_columns
23 21 0 pagets__default_subnavigation_left
24 22 0 pagets__default_subnavigation_left_2_columns
25 23 0 pagets__clean
26 24 0 pagets__default_clean
27 25 0 pagets__default_2_columns
28 26 0 pagets__default_2_columns_25_75
29 27 0 pagets__default_2_columns_50_50
30 28 0 pagets__default_2_columns_offset_right
31 29 0 pagets__default_3_columns
32 30 0 pagets__default_subnavigation_right
33 31 0 pagets__default_subnavigation_right_2_columns
34 32 0 pagets__default_subnavigation_left
35 34 0 pagets__default_subnavigation_left_2_columns
@@ -0,0 +1,35 @@
"pages",,,,
,uid,pid,backend_layout,backend_layout_next_level
,1,0,pagets__simple,pagets__simple
,2,0,pagets__simple,pagets__simple
,3,0,pagets__2_columns,pagets__2_columns
,4,0,pagets__2_columns_25_75,pagets__2_columns_25_75
,5,0,pagets__2_columns_50_50,pagets__2_columns_50_50
,6,0,pagets__2_columns_offset_right,pagets__2_columns_offset_right
,7,0,pagets__3_columns,pagets__3_columns
,8,0,pagets__subnavigation_right,pagets__subnavigation_right
,9,0,pagets__subnavigation_right_2_columns,pagets__subnavigation_right_2_columns
,10,0,pagets__subnavigation_left,pagets__subnavigation_left
,11,0,pagets__subnavigation_left_2_columns,pagets__subnavigation_left_2_columns
,12,0,pagets__simple,
,13,0,pagets__simple,
,14,0,pagets__2_columns,
,15,0,pagets__2_columns_25_75,
,16,0,pagets__2_columns_50_50,
,17,0,pagets__2_columns_offset_right,
,18,0,pagets__3_columns,
,19,0,pagets__subnavigation_right,
,20,0,pagets__subnavigation_right_2_columns,
,21,0,pagets__subnavigation_left,
,22,0,pagets__subnavigation_left_2_columns,
,23,0,,pagets__simple
,24,0,,pagets__simple
,25,0,,pagets__2_columns
,26,0,,pagets__2_columns_25_75
,27,0,,pagets__2_columns_50_50
,28,0,,pagets__2_columns_offset_right
,29,0,,pagets__3_columns
,30,0,,pagets__subnavigation_right
,31,0,,pagets__subnavigation_right_2_columns
,32,0,,pagets__subnavigation_left
,34,0,,pagets__subnavigation_left_2_columns
1 pages
2 uid pid backend_layout backend_layout_next_level
3 1 0 pagets__simple pagets__simple
4 2 0 pagets__simple pagets__simple
5 3 0 pagets__2_columns pagets__2_columns
6 4 0 pagets__2_columns_25_75 pagets__2_columns_25_75
7 5 0 pagets__2_columns_50_50 pagets__2_columns_50_50
8 6 0 pagets__2_columns_offset_right pagets__2_columns_offset_right
9 7 0 pagets__3_columns pagets__3_columns
10 8 0 pagets__subnavigation_right pagets__subnavigation_right
11 9 0 pagets__subnavigation_right_2_columns pagets__subnavigation_right_2_columns
12 10 0 pagets__subnavigation_left pagets__subnavigation_left
13 11 0 pagets__subnavigation_left_2_columns pagets__subnavigation_left_2_columns
14 12 0 pagets__simple
15 13 0 pagets__simple
16 14 0 pagets__2_columns
17 15 0 pagets__2_columns_25_75
18 16 0 pagets__2_columns_50_50
19 17 0 pagets__2_columns_offset_right
20 18 0 pagets__3_columns
21 19 0 pagets__subnavigation_right
22 20 0 pagets__subnavigation_right_2_columns
23 21 0 pagets__subnavigation_left
24 22 0 pagets__subnavigation_left_2_columns
25 23 0 pagets__simple
26 24 0 pagets__simple
27 25 0 pagets__2_columns
28 26 0 pagets__2_columns_25_75
29 27 0 pagets__2_columns_50_50
30 28 0 pagets__2_columns_offset_right
31 29 0 pagets__3_columns
32 30 0 pagets__subnavigation_right
33 31 0 pagets__subnavigation_right_2_columns
34 32 0 pagets__subnavigation_left
35 34 0 pagets__subnavigation_left_2_columns
@@ -0,0 +1,6 @@
"tt_content",,,,,
,uid,pid,CType,layout,bullets_type
,1,1,bullets,100,0
,2,1,bullets,110,0
,3,1,bullets,120,0
,4,1,bullets,130,0
1 tt_content
2 uid pid CType layout bullets_type
3 1 1 bullets 100 0
4 2 1 bullets 110 0
5 3 1 bullets 120 0
6 4 1 bullets 130 0
@@ -0,0 +1,6 @@
"tt_content",,,,,
,uid,pid,CType,layout,bullets_type
,1,1,bullets,0,0
,2,1,bullets,0,1
,3,1,bullets,0,0
,4,1,bullets,0,0
1 tt_content
2 uid pid CType layout bullets_type
3 1 1 bullets 0 0
4 2 1 bullets 0 1
5 3 1 bullets 0 0
6 4 1 bullets 0 0
@@ -0,0 +1,6 @@
"tt_content",,,,
,uid,pid,CType,layout
,1,1,bootstrap_package_carousel,100
,2,1,bootstrap_package_carousel,110
,3,1,bootstrap_package_carousel,120
,4,1,bootstrap_package_carousel,130
1 tt_content
2 uid pid CType layout
3 1 1 bootstrap_package_carousel 100
4 2 1 bootstrap_package_carousel 110
5 3 1 bootstrap_package_carousel 120
6 4 1 bootstrap_package_carousel 130
@@ -0,0 +1,6 @@
"tt_content",,,,
,uid,pid,CType,layout
,1,1,carousel,0
,2,1,carousel_small,0
,3,1,carousel_fullscreen,0
,4,1,carousel,130
1 tt_content
2 uid pid CType layout
3 1 1 carousel 0
4 2 1 carousel_small 0
5 3 1 carousel_fullscreen 0
6 4 1 carousel 130
@@ -0,0 +1,3 @@
"tx_bootstrappackage_carousel_item",,,
,uid,pid,layout
,1,1,
1 tx_bootstrappackage_carousel_item
2 uid pid layout
3 1 1
@@ -0,0 +1,3 @@
"tx_bootstrappackage_carousel_item",,,
,uid,pid,layout
,1,1,custom
1 tx_bootstrappackage_carousel_item
2 uid pid layout
3 1 1 custom
@@ -0,0 +1,4 @@
"tx_bootstrappackage_carousel_item",,,
,uid,pid,item_type
,1,1,textandimage
,2,1,backgroundimage
1 tx_bootstrappackage_carousel_item
2 uid pid item_type
3 1 1 textandimage
4 2 1 backgroundimage
@@ -0,0 +1,4 @@
"tx_bootstrappackage_carousel_item",,,
,uid,pid,item_type
,1,1,text_and_image
,2,1,background_image
1 tx_bootstrappackage_carousel_item
2 uid pid item_type
3 1 1 text_and_image
4 2 1 background_image
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,bootstrap_package_external_media
1 tt_content
2 uid pid CType
3 1 1 bootstrap_package_external_media
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,external_media
1 tt_content
2 uid pid CType
3 1 1 external_media
@@ -0,0 +1,4 @@
"tt_content",,,,
,uid,pid,frame_class,background_color_class
,1,1,well,
,2,1,jumbotron,
1 tt_content
2 uid pid frame_class background_color_class
3 1 1 well
4 2 1 jumbotron
@@ -0,0 +1,4 @@
"tt_content",,,,
,uid,pid,frame_class,background_color_class
,1,1,default,light
,2,1,default,primary
1 tt_content
2 uid pid frame_class background_color_class
3 1 1 default light
4 2 1 default primary
@@ -0,0 +1,12 @@
"tt_content",,,,
,uid,pid,section_frame,frame_class
,1,1,0,default
,2,1,5,default
,3,1,6,default
,4,1,10,default
,5,1,11,default
,6,1,12,default
,7,1,20,default
,8,1,21,default
,9,1,66,default
,10,1,100,default
1 tt_content
2 uid pid section_frame frame_class
3 1 1 0 default
4 2 1 5 default
5 3 1 6 default
6 4 1 10 default
7 5 1 11 default
8 6 1 12 default
9 7 1 20 default
10 8 1 21 default
11 9 1 66 default
12 10 1 100 default
@@ -0,0 +1,12 @@
"tt_content",,,,
,uid,pid,section_frame,frame_class
,1,1,0,default
,2,1,0,ruler-before
,3,1,0,ruler-after
,4,1,0,indent
,5,1,0,indent-left
,6,1,0,indent-right
,7,1,0,well
,8,1,0,jumbotron
,9,1,0,none
,10,1,0,custom-100
1 tt_content
2 uid pid section_frame frame_class
3 1 1 0 default
4 2 1 0 ruler-before
5 3 1 0 ruler-after
6 4 1 0 indent
7 5 1 0 indent-left
8 6 1 0 indent-right
9 7 1 0 well
10 8 1 0 jumbotron
11 9 1 0 none
12 10 1 0 custom-100
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,bootstrap_package_listgroup
1 tt_content
2 uid pid CType
3 1 1 bootstrap_package_listgroup
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,listgroup
1 tt_content
2 uid pid CType
3 1 1 listgroup
@@ -0,0 +1,8 @@
"tt_content",,,,,
,uid,pid,CType,layout,panel_class
,1,1,bootstrap_package_panel,0,default
,2,1,bootstrap_package_panel,110,default
,3,1,bootstrap_package_panel,120,default
,4,1,bootstrap_package_panel,130,default
,5,1,bootstrap_package_panel,140,default
,6,1,bootstrap_package_panel,150,default
1 tt_content
2 uid pid CType layout panel_class
3 1 1 bootstrap_package_panel 0 default
4 2 1 bootstrap_package_panel 110 default
5 3 1 bootstrap_package_panel 120 default
6 4 1 bootstrap_package_panel 130 default
7 5 1 bootstrap_package_panel 140 default
8 6 1 bootstrap_package_panel 150 default
@@ -0,0 +1,8 @@
"tt_content",,,,,
,uid,pid,CType,layout,panel_class
,1,1,panel,0,default
,2,1,panel,0,primary
,3,1,panel,0,success
,4,1,panel,0,info
,5,1,panel,0,warning
,6,1,panel,0,danger
1 tt_content
2 uid pid CType layout panel_class
3 1 1 panel 0 default
4 2 1 panel 0 primary
5 3 1 panel 0 success
6 4 1 panel 0 info
7 5 1 panel 0 warning
8 6 1 panel 0 danger
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,bootstrap_package_tab
1 tt_content
2 uid pid CType
3 1 1 bootstrap_package_tab
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,tab
1 tt_content
2 uid pid CType
3 1 1 tab
@@ -0,0 +1,4 @@
"tx_bootstrappackage_tab_item",,,
,uid,pid,mediaorient
,1,1,0
,2,1,1
1 tx_bootstrappackage_tab_item
2 uid pid mediaorient
3 1 1 0
4 2 1 1
@@ -0,0 +1,4 @@
"tx_bootstrappackage_tab_item",,,
,uid,pid,mediaorient
,1,1,left
,2,1,right
1 tx_bootstrappackage_tab_item
2 uid pid mediaorient
3 1 1 left
4 2 1 right
@@ -0,0 +1,8 @@
"tt_content",,,,,
,uid,pid,CType,layout,table_class
,1,1,table,100,
,2,1,table,110,
,3,1,table,120,
,4,1,table,130,
,5,1,table,140,
,6,1,table,150,
1 tt_content
2 uid pid CType layout table_class
3 1 1 table 100
4 2 1 table 110
5 3 1 table 120
6 4 1 table 130
7 5 1 table 140
8 6 1 table 150
@@ -0,0 +1,8 @@
"tt_content",,,,,
,uid,pid,CType,layout,table_class
,1,1,table,0,
,2,1,table,0,
,3,1,table,0,striped
,4,1,table,0,bordered
,5,1,table,0,hover
,6,1,table,0,condensed
1 tt_content
2 uid pid CType layout table_class
3 1 1 table 0
4 2 1 table 0
5 3 1 table 0 striped
6 4 1 table 0 bordered
7 5 1 table 0 hover
8 6 1 table 0 condensed
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,bootstrap_package_texticon
1 tt_content
2 uid pid CType
3 1 1 bootstrap_package_texticon
@@ -0,0 +1,3 @@
"tt_content",,,
,uid,pid,CType
,1,1,texticon
1 tt_content
2 uid pid CType
3 1 1 texticon
@@ -0,0 +1,4 @@
"tt_content",,,,
,uid,pid,icon,icon_set
,1,1,Glyphicons__demo,
,2,1,Ionicons__demo,
1 tt_content
2 uid pid icon icon_set
3 1 1 Glyphicons__demo
4 2 1 Ionicons__demo
@@ -0,0 +1,4 @@
"tt_content",,,,
,uid,pid,icon,icon_set
,1,1,EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/demo.svg,EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/
,2,1,EXT:bootstrap_package/Resources/Public/Images/Icons/Ionicons/demo.svg,EXT:bootstrap_package/Resources/Public/Images/Icons/Ionicons/
1 tt_content
2 uid pid icon icon_set
3 1 1 EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/demo.svg EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/
4 2 1 EXT:bootstrap_package/Resources/Public/Images/Icons/Ionicons/demo.svg EXT:bootstrap_package/Resources/Public/Images/Icons/Ionicons/
@@ -0,0 +1,6 @@
"tt_content",,,
,uid,pid,icon_size
,1,1,0
,2,1,1
,3,1,2
,4,1,3
1 tt_content
2 uid pid icon_size
3 1 1 0
4 2 1 1
5 3 1 2
6 4 1 3
@@ -0,0 +1,6 @@
"tt_content",,,
,uid,pid,icon_size
,1,1,default
,2,1,medium
,3,1,large
,4,1,awesome
1 tt_content
2 uid pid icon_size
3 1 1 default
4 2 1 medium
5 3 1 large
6 4 1 awesome
@@ -0,0 +1,5 @@
"tt_content",,,
,uid,pid,icon_type
,1,1,0
,2,1,1
,3,1,2
1 tt_content
2 uid pid icon_type
3 1 1 0
4 2 1 1
5 3 1 2
@@ -0,0 +1,5 @@
"tt_content",,,
,uid,pid,icon_type
,1,1,default
,2,1,square
,3,1,circle
1 tt_content
2 uid pid icon_type
3 1 1 default
4 2 1 square
5 3 1 circle
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\FrameClassToBackgroundUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class FrameClassToBackgroundUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new FrameClassToBackgroundUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new FrameClassToBackgroundUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/FrameClassToBackgroundUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/FrameClassToBackgroundUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/FrameClassToBackgroundUpdate/Result.csv');
}
}
@@ -0,0 +1,56 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\FrameClassUpdate;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class FrameClassUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new FrameClassUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tt_content');
$connection->executeQuery('ALTER TABLE tt_content ADD section_frame int(11) unsigned DEFAULT "0" NOT NULL;');
$subject = new FrameClassUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/FrameClassUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/FrameClassUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/FrameClassUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\ListGroupContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class ListGroupContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new ListGroupContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new ListGroupContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/ListGroupContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/ListGroupContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/ListGroupContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\PanelContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class PanelContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new PanelContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new PanelContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/PanelContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/PanelContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/PanelContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TabContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TabContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TabContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TabContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TabContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TabContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TabContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TabMediaOrientUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TabMediaOrientUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TabMediaOrientUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TabMediaOrientUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TabMediaOrientUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TabMediaOrientUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TabMediaOrientUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TableContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TableContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TableContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TableContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TableContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TableContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TableContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TexticonContentElementUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TexticonContentElementUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TexticonContentElementUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TexticonContentElementUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TexticonContentElementUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonContentElementUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonContentElementUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TexticonIconUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TexticonIconUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TexticonIconUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TexticonIconUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TexticonIconUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonIconUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonIconUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TexticonSizeUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TexticonSizeUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TexticonSizeUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TexticonSizeUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TexticonSizeUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonSizeUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonSizeUpdate/Result.csv');
}
}
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace T3G\AgencyPack\Blog\Tests\Functional\Updates;
use BK2K\BootstrapPackage\Updates\TexticonTypeUpdate;
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
/**
* @extensionScannerIgnoreFile
*/
final class TexticonTypeUpdateTest extends FunctionalTestCase
{
protected $testExtensionsToLoad = [
'typo3conf/ext/bootstrap_package'
];
/**
* @test
*/
public function noUpdateNecessaryTest(): void
{
$subject = new TexticonTypeUpdate();
self::assertFalse($subject->updateNecessary());
}
/**
* @test
*/
public function updateTest(): void
{
$subject = new TexticonTypeUpdate();
$this->importCSVDataSet(__DIR__ . '/Fixtures/TexticonTypeUpdate/Input.csv');
self::assertTrue($subject->updateNecessary());
$subject->executeUpdate();
self::assertFalse($subject->updateNecessary());
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonTypeUpdate/Result.csv');
// Just ensure that running the upgrade again does not change anything
$subject->executeUpdate();
$this->assertCSVDataSet(__DIR__ . '/Fixtures/TexticonTypeUpdate/Result.csv');
}
}