TYPO3 v13

This commit is contained in:
Daniel Siepmann (Codappix) 2025-01-28 08:13:18 +01:00
parent 891871a8ef
commit 6466a2d828
SSH key fingerprint: SHA256:nAjx3Dpp8kuAC+S7QXj8BWmqw+KI1Miu+5e40BP3LXA
14 changed files with 76 additions and 34 deletions

View file

@ -23,6 +23,7 @@ jobs:
- 8.1
- 8.2
- 8.3
- 8.4
steps:
- name: Checkout
uses: actions/checkout@v3
@ -45,7 +46,7 @@ jobs:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
php-version: "8.4"
coverage: none
tools: composer:v2
@ -76,6 +77,7 @@ jobs:
with:
coverage: none
tools: composer:v2
# Lower version due to php-cs-fixer
php-version: "8.3"
- name: Install dependencies
@ -97,6 +99,14 @@ jobs:
typo3-version: '^12.4'
- php-version: '8.3'
typo3-version: '^12.4'
- php-version: '8.4'
typo3-version: '^12.4'
- php-version: '8.2'
typo3-version: '^13.4'
- php-version: '8.3'
typo3-version: '^13.4'
- php-version: '8.4'
typo3-version: '^13.4'
steps:
- uses: actions/checkout@v3
@ -126,6 +136,14 @@ jobs:
typo3-version: '^12.4'
- php-version: '8.3'
typo3-version: '^12.4'
- php-version: '8.4'
typo3-version: '^12.4'
- php-version: '8.2'
typo3-version: '^13.4'
- php-version: '8.3'
typo3-version: '^13.4'
- php-version: '8.4'
typo3-version: '^13.4'
steps:
- uses: actions/checkout@v3

View file

@ -0,0 +1,28 @@
2.1.0
=====
Breaking
--------
Nothing
Features
--------
* Add compatibility for TYPO3 v13.4 and PHP 8.4.
Fixes
-----
Nothing
Tasks
-----
Nothing
Deprecation
-----------
Nothing

View file

@ -21,8 +21,8 @@ return [
'clear' => 3,
'constants' => 'databasePlatform = mysql',
'config' => '
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:calendar_example/Configuration/TypoScript/Setup.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript">
@import "EXT:calendar_example/Configuration/TypoScript/setup.typoscript"
@import "EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript"
',
],
],

View file

@ -275,7 +275,7 @@ class CalendarControllerTest extends FunctionalTestCase
self::assertSame(200, $result->getStatusCode());
$html = $result->getBody()->__toString();
self::assertStringContainsString((new DateFormatter())->strftime('%B %Y', 'now', 'de-DE'), $html);
self::assertStringContainsString((new DateFormatter())->strftime('%B %Y', 'now', 'en-GB'), $html);
self::assertStringContainsString('exampleValue', $html);
}

View file

@ -33,7 +33,7 @@ class ContextTest extends TestCase
#[Test]
public function canBeCreatedFromContentObjectRenderer(): void
{
$contentObjectRenderer = $this->createStub(ContentObjectRenderer::class);
$contentObjectRenderer = self::createStub(ContentObjectRenderer::class);
$subject = Context::createFromContentObjectRenderer($contentObjectRenderer);
self::assertInstanceOf(Context::class, $subject);
@ -42,7 +42,7 @@ class ContextTest extends TestCase
#[Test]
public function providesTableNameInheritedFromContentObjectRenderer(): void
{
$contentObjectRenderer = $this->createStub(ContentObjectRenderer::class);
$contentObjectRenderer = self::createStub(ContentObjectRenderer::class);
$contentObjectRenderer->method('getCurrentTable')->willReturn('tx_calendar_example_table');
$subject = Context::createFromContentObjectRenderer($contentObjectRenderer);
@ -52,7 +52,7 @@ class ContextTest extends TestCase
#[Test]
public function providesDatabaseRowInheritedFromContentObjectRenderer(): void
{
$contentObjectRenderer = $this->createStub(ContentObjectRenderer::class);
$contentObjectRenderer = self::createStub(ContentObjectRenderer::class);
$contentObjectRenderer->data = [
'uid' => 10,
'pid' => 1,

View file

@ -107,7 +107,7 @@ class DayTest extends TestCase
{
$subject = new Day(new \DateTime('2020-10-19'));
$foreignData = $this->createStub(IsDayActive::class);
$foreignData = self::createStub(IsDayActive::class);
$foreignData->method('isActive')->willReturn(false);
$this->forceProperty($subject, 'initialized', true);
@ -121,10 +121,10 @@ class DayTest extends TestCase
{
$subject = new Day(new \DateTime('2020-10-19'));
$foreignData = $this->createStub(IsDayActive::class);
$foreignData = self::createStub(IsDayActive::class);
$foreignData->method('isActive')->willReturn(true);
$factory = $this->createStub(ForeignDataFactory::class);
$factory = self::createStub(ForeignDataFactory::class);
$factory->method('getData')->willReturn($foreignData);
GeneralUtility::addInstance(ForeignDataFactory::class, $factory);

View file

@ -183,7 +183,7 @@ class MonthTest extends TestCase
{
$subject = new Month(02, 2018);
$week = $this->createStub(Week::class);
$week = self::createStub(Week::class);
$week->method('isActive')->willReturn(false);
$weeks = [$week];
$this->forceProperty($subject, 'weeks', $weeks);
@ -196,9 +196,9 @@ class MonthTest extends TestCase
{
$subject = new Month(02, 2018);
$week = $this->createStub(Week::class);
$week = self::createStub(Week::class);
$week->method('isActive')->willReturn(true);
$week2 = $this->createStub(Week::class);
$week2 = self::createStub(Week::class);
$week2->method('isActive')->willReturn(false);
$weeks = [$week, $week2];
$this->forceProperty($subject, 'weeks', $weeks);

View file

@ -32,7 +32,7 @@ class NullDataFactoryTest extends TestCase
public function returnsNull(): void
{
$subject = new NullDataFactory();
$day = $this->createStub(Day::class);
$day = self::createStub(Day::class);
self::assertNull($subject->getData($day));
}
}

View file

@ -175,7 +175,7 @@ class WeekTest extends TestCase
{
$subject = new Week(02, 2018);
$day = $this->createStub(Day::class);
$day = self::createStub(Day::class);
$day->method('isActive')->willReturn(false);
$days = [$day];
$this->forceProperty($subject, 'days', $days);
@ -188,9 +188,9 @@ class WeekTest extends TestCase
{
$subject = new Week(02, 2018);
$day = $this->createStub(Day::class);
$day = self::createStub(Day::class);
$day->method('isActive')->willReturn(true);
$day2 = $this->createStub(Day::class);
$day2 = self::createStub(Day::class);
$day2->method('isActive')->willReturn(false);
$days = [$day, $day2];
$this->forceProperty($subject, 'days', $days);

View file

@ -114,7 +114,7 @@ class YearTest extends TestCase
{
$subject = new Year(2020);
$month = $this->createStub(Month::class);
$month = self::createStub(Month::class);
$month->method('isActive')->willReturn(false);
$months = [$month];
$this->forceProperty($subject, 'months', $months);
@ -127,7 +127,7 @@ class YearTest extends TestCase
{
$subject = new Year(2020);
$month = $this->createStub(Month::class);
$month = self::createStub(Month::class);
$month->method('isActive')->willReturn(true);
$months = [$month];
$this->forceProperty($subject, 'months', $months);

View file

@ -20,12 +20,12 @@
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
"typo3/cms-backend": "^12.4",
"typo3/cms-core": "^12.4",
"typo3/cms-extbase": "^12.4",
"typo3/cms-fluid-styled-content": "^12.4",
"typo3/cms-frontend": "^12.4"
"php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"typo3/cms-backend": "^12.4 || ^13.4",
"typo3/cms-core": "^12.4 || ^13.4",
"typo3/cms-extbase": "^12.4 || ^13.4",
"typo3/cms-fluid-styled-content": "^12.4 || ^13.4",
"typo3/cms-frontend": "^12.4 || ^13.4"
},
"autoload": {
"psr-4": {

View file

@ -10,7 +10,7 @@ $EM_CONF['calendar'] = [
'state' => 'alpha',
'uploadfolder' => 0,
'clearCacheOnLoad' => 0,
'version' => '2.0.0',
'version' => '2.1.0',
'constraints' => [
'depends' => [
'typo3' => '*',

View file

@ -1,7 +1,7 @@
{ pkgs ? import <nixpkgs> { } }:
let
php = pkgs.php82.buildEnv {
php = pkgs.php84.buildEnv {
extensions = { enabled, all }: enabled ++ (with all; [
xdebug
]);
@ -20,7 +20,7 @@ let
];
text = ''
rm -rf vendor/ .Build/
composer install --prefer-dist --no-progress --working-dir="$PROJECT_ROOT"
composer install --prefer-dist --no-progress
'';
};
@ -35,7 +35,7 @@ let
'';
};
in pkgs.mkShell {
in pkgs.mkShellNoCC {
name = "TYPO3 Extension Watchlist";
buildInputs = [
projectInstall
@ -44,9 +44,5 @@ in pkgs.mkShell {
composer
];
shellHook = ''
export PROJECT_ROOT="$(pwd)"
export typo3DatabaseDriver=pdo_sqlite
'';
typo3DatabaseDriver = "pdo_sqlite";
}