Add basic set of tests and cgl
This commit is contained in:
parent
98f2b208d6
commit
a35d7502ca
11 changed files with 3158 additions and 9 deletions
13
.php-cs-fixer.dist.php
Normal file
13
.php-cs-fixer.dist.php
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$finder = PhpCsFixer\Finder::create()->in('src', 'tests');
|
||||||
|
|
||||||
|
$config = new PhpCsFixer\Config();
|
||||||
|
return $config->setRules([
|
||||||
|
'@PSR12' => true,
|
||||||
|
'strict_param' => true,
|
||||||
|
'array_syntax' => ['syntax' => 'short'],
|
||||||
|
])
|
||||||
|
->setFinder($finder)
|
||||||
|
;
|
||||||
|
|
|
@ -14,10 +14,16 @@
|
||||||
"DanielSiepmann\\FediverseFeedWrappers\\": "src/"
|
"DanielSiepmann\\FediverseFeedWrappers\\": "src/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"DanielSiepmann\\FediverseFeedWrappers\\Tests\\": "tests/"
|
||||||
|
}
|
||||||
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "8.2.*"
|
"php": "8.2.*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^10.0"
|
"phpunit/phpunit": "^10.0",
|
||||||
|
"friendsofphp/php-cs-fixer": "^3.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1970
composer.lock
generated
1970
composer.lock
generated
File diff suppressed because it is too large
Load diff
27
phpunit.xml.dist
Normal file
27
phpunit.xml.dist
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
|
||||||
|
backupGlobals="false"
|
||||||
|
colors="true"
|
||||||
|
processIsolation="false"
|
||||||
|
stopOnError="false"
|
||||||
|
stopOnFailure="false"
|
||||||
|
stopOnIncomplete="false"
|
||||||
|
stopOnSkipped="false"
|
||||||
|
cacheDirectory=".phpunit.cache"
|
||||||
|
backupStaticProperties="false"
|
||||||
|
requireCoverageMetadata="false"
|
||||||
|
>
|
||||||
|
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="unit">
|
||||||
|
<directory>tests/Unit/</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
|
||||||
|
<coverage>
|
||||||
|
<include>
|
||||||
|
<directory suffix=".php">src</directory>
|
||||||
|
</include>
|
||||||
|
</coverage>
|
||||||
|
</phpunit>
|
14
shell.nix
14
shell.nix
|
@ -6,9 +6,21 @@ let
|
||||||
runtimeInputs = [
|
runtimeInputs = [
|
||||||
pkgs.php82
|
pkgs.php82
|
||||||
pkgs.php82Packages.composer
|
pkgs.php82Packages.composer
|
||||||
|
projectTest
|
||||||
];
|
];
|
||||||
text = ''
|
text = ''
|
||||||
composer install --working-dir="$PROJECT_ROOT"
|
composer install --working-dir="$PROJECT_ROOT"
|
||||||
|
project-test
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
projectTest = pkgs.writeShellApplication {
|
||||||
|
name = "project-test";
|
||||||
|
runtimeInputs = [
|
||||||
|
pkgs.php82
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
./vendor/bin/phpunit
|
||||||
|
./vendor/bin/php-cs-fixer fix --dry-run --allow-risky=yes
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
projectDeploy = pkgs.writeShellApplication {
|
projectDeploy = pkgs.writeShellApplication {
|
||||||
|
@ -53,11 +65,13 @@ in pkgs.mkShell {
|
||||||
pkgs.php82
|
pkgs.php82
|
||||||
pkgs.php82Packages.composer
|
pkgs.php82Packages.composer
|
||||||
projectInstall
|
projectInstall
|
||||||
|
projectTest
|
||||||
projectDeploy
|
projectDeploy
|
||||||
];
|
];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export PROJECT_ROOT="$(pwd)"
|
export PROJECT_ROOT="$(pwd)"
|
||||||
export PATH="$(pwd)/:$PATH"
|
export PATH="$(pwd)/:$PATH"
|
||||||
|
export PHP_CS_FIXER_IGNORE_ENV=1
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,14 @@ use DanielSiepmann\FediverseFeedWrappers\WrapperInterface;
|
||||||
|
|
||||||
class GitHubTypo3 implements WrapperInterface
|
class GitHubTypo3 implements WrapperInterface
|
||||||
{
|
{
|
||||||
|
private string $url;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
string $url = 'https://github.com/TYPO3/typo3/commits.atom'
|
||||||
|
) {
|
||||||
|
$this->url = $url;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We don't want the full commit messag within each feed item.
|
* We don't want the full commit messag within each feed item.
|
||||||
*
|
*
|
||||||
|
@ -37,13 +45,10 @@ class GitHubTypo3 implements WrapperInterface
|
||||||
public function handle(): string
|
public function handle(): string
|
||||||
{
|
{
|
||||||
$content = new DOMDocument();
|
$content = new DOMDocument();
|
||||||
$content->loadXML(file_get_contents('https://github.com/TYPO3/typo3/commits.atom'));
|
$content->loadXML(file_get_contents($this->url));
|
||||||
|
|
||||||
$itemContentElements = $content->getElementsByTagName('content');
|
foreach ($content->getElementsByTagName('entry') as $entry) {
|
||||||
foreach ($itemContentElements as $itemContent) {
|
$entry->getElementsByTagName('content')[0]->nodeValue = trim($entry->getElementsByTagName('title')[0]->textContent);
|
||||||
$itemContent->nodeValue = strip_tags(
|
|
||||||
strtok($itemContent->textContent, "\n") ?: ''
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $content->saveXML();
|
return $content->saveXML();
|
||||||
|
|
|
@ -49,7 +49,7 @@ class WrapperRegistry
|
||||||
sprintf(
|
sprintf(
|
||||||
'No wrapper found for "%s", only available: %s.',
|
'No wrapper found for "%s", only available: %s.',
|
||||||
$identifier,
|
$identifier,
|
||||||
implode(array_keys($this->wrappers))
|
implode(', ', array_keys($this->wrappers))
|
||||||
),
|
),
|
||||||
1676531371
|
1676531371
|
||||||
);
|
);
|
||||||
|
|
274
tests/Unit/Wrapper/Assertions/GitHubTypo3.atom
Normal file
274
tests/Unit/Wrapper/Assertions/GitHubTypo3.atom
Normal file
|
@ -0,0 +1,274 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
|
||||||
|
<id>tag:github.com,2008:/TYPO3/typo3/commits/main</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commits/main"/>
|
||||||
|
<link type="application/atom+xml" rel="self" href="https://github.com/TYPO3/typo3/commits/main.atom"/>
|
||||||
|
<title>Recent Commits to typo3:main</title>
|
||||||
|
<updated>2023-02-15T21:00:05Z</updated>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/da1469bbba1213494661dd166591f81d2bfbd7b7</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/da1469bbba1213494661dd166591f81d2bfbd7b7"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Fix capitalization in recordlist heading
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T21:00:05Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2861556?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>josefglatz</name>
|
||||||
|
<uri>https://github.com/josefglatz</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Fix capitalization in recordlist heading</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/4936022b6a37dd9daa6f9fffd596caa40b16944b</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/4936022b6a37dd9daa6f9fffd596caa40b16944b"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Fix typo for a fe_users language key
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T16:25:02Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/19343425?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>nhovratov</name>
|
||||||
|
<uri>https://github.com/nhovratov</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Fix typo for a fe_users language key</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/6797361e3272171f38afdcc6ef9f3bfc393a02d9</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/6797361e3272171f38afdcc6ef9f3bfc393a02d9"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Add type cast for potential mountpoint information
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:59:05Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1905663?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>georgringer</name>
|
||||||
|
<uri>https://github.com/georgringer</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Add type cast for potential mountpoint information</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/2115fe399dea3e8f8d134dcd02f854a5147d9de1</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/2115fe399dea3e8f8d134dcd02f854a5147d9de1"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Get the correct next stage for moved elements in workspace
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:58:23Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://1.gravatar.com/avatar/861635eb7fa03a9c060a500e14864d76?d=https%3A%2F%2Fgithub.githubassets.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png&r=g&s=30"/>
|
||||||
|
<author>
|
||||||
|
<name/>
|
||||||
|
<email>typo3@timhorstmann.de</email>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Get the correct next stage for moved elements in workspace</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/953b80055f67d5753d7ef142ace3c49f042209f4</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/953b80055f67d5753d7ef142ace3c49f042209f4"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Position sidebar in image cropping correctly on the right
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:41:03Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/4623070?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>ochorocho</name>
|
||||||
|
<uri>https://github.com/ochorocho</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Position sidebar in image cropping correctly on the right</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/3b1089c8594d4d1638939b0bb7bb5e67c37e8795</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/3b1089c8594d4d1638939b0bb7bb5e67c37e8795"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Refine LiveSearch form behavior
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:09:45Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Refine LiveSearch form behavior</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/ec8d82c39732903e07677755116ef70e1c670d6c</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/ec8d82c39732903e07677755116ef70e1c670d6c"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Move PageTsBackendLayoutDataProvider namespace
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:31:49Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Move PageTsBackendLayoutDataProvider namespace</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/e0ba68e2629383b3174c02d4f246cd675d1af3cf</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/e0ba68e2629383b3174c02d4f246cd675d1af3cf"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Handle FormData passed to AjaxRequest API properly
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:06:58Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Handle FormData passed to AjaxRequest API properly</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/7e57642c91aacbb1a1ad16895caf1cad1f504156</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/7e57642c91aacbb1a1ad16895caf1cad1f504156"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Avoid GU::_GP() in DataHandler
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:05:11Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Avoid GU::_GP() in DataHandler</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/51bef53fe5775b0708155921080ccbe66952cc3e</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/51bef53fe5775b0708155921080ccbe66952cc3e"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Avoid GU::_GP() in PageTsBackendLayoutDataProvider
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T11:29:02Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Avoid GU::_GP() in PageTsBackendLayoutDataProvider</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/773c4f581b17a96e9cc17436d546385100c72f81</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/773c4f581b17a96e9cc17436d546385100c72f81"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Add delete action for usergroup list
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T10:17:08Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/4623070?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>ochorocho</name>
|
||||||
|
<uri>https://github.com/ochorocho</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Add delete action for usergroup list</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/32dc37fe7d61990fb74cc3d559089576439e4c7f</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/32dc37fe7d61990fb74cc3d559089576439e4c7f"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Guard ConstantEditor with copy operator in constants
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T12:13:44Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1453466?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>sbuerk</name>
|
||||||
|
<uri>https://github.com/sbuerk</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Guard ConstantEditor with copy operator in constants</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/c3c61edff0983a99d30d6cbc32ef0b2cb29661cb</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/c3c61edff0983a99d30d6cbc32ef0b2cb29661cb"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Deprecate PageRenderer->enableDebugMode()
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T11:25:55Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1925287?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>maddy2101</name>
|
||||||
|
<uri>https://github.com/maddy2101</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Deprecate PageRenderer->enableDebugMode()</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/68d67171c1d9a61e0d056ae849aa0c1db4ba6eda</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/68d67171c1d9a61e0d056ae849aa0c1db4ba6eda"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Deprecate the limit parameter for GU::intExplode
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T10:09:09Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/765746?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>oliverklee</name>
|
||||||
|
<uri>https://github.com/oliverklee</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Deprecate the limit parameter for GU::intExplode</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/0a9b218aadbb772e1c37f9ca0b446bd6c1648542</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/0a9b218aadbb772e1c37f9ca0b446bd6c1648542"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Refine LiveSearch search demand
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T08:46:18Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Refine LiveSearch search demand</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/26ca6872684ccc469a9e2981cb8cf3bb83134d12</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/26ca6872684ccc469a9e2981cb8cf3bb83134d12"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Toolbar link to environment opens in iframe
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:28:45Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Toolbar link to environment opens in iframe</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/614e15d76087e775b965c4fb6e5e4ae59692c128</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/614e15d76087e775b965c4fb6e5e4ae59692c128"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Make extbase repository generic (phpstan-wise)
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:27:52Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/711459?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>alexanderschnitzler</name>
|
||||||
|
<uri>https://github.com/alexanderschnitzler</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Make extbase repository generic (phpstan-wise)</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/f54531dad88addc4639f09b4cc37228524156d0c</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/f54531dad88addc4639f09b4cc37228524156d0c"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Eliminate double serialization in ApcuBackend
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:15:26Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1443144?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>MaxKellermann</name>
|
||||||
|
<uri>https://github.com/MaxKellermann</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[TASK] Eliminate double serialization in ApcuBackend</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/66d3625281f47ef788f8663c0dbd050081d3fe74</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/66d3625281f47ef788f8663c0dbd050081d3fe74"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Handle array access in LocalImageProcessor
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:04:14Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/13206455?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>sypets</name>
|
||||||
|
<uri>https://github.com/sypets</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">[BUGFIX] Handle array access in LocalImageProcessor</content>
|
||||||
|
</entry>
|
||||||
|
</feed>
|
690
tests/Unit/Wrapper/Fixtures/GitHubTypo3.atom
Normal file
690
tests/Unit/Wrapper/Fixtures/GitHubTypo3.atom
Normal file
|
@ -0,0 +1,690 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
|
||||||
|
<id>tag:github.com,2008:/TYPO3/typo3/commits/main</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commits/main"/>
|
||||||
|
<link type="application/atom+xml" rel="self" href="https://github.com/TYPO3/typo3/commits/main.atom"/>
|
||||||
|
<title>Recent Commits to typo3:main</title>
|
||||||
|
<updated>2023-02-15T21:00:05Z</updated>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/da1469bbba1213494661dd166591f81d2bfbd7b7</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/da1469bbba1213494661dd166591f81d2bfbd7b7"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Fix capitalization in recordlist heading
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T21:00:05Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2861556?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>josefglatz</name>
|
||||||
|
<uri>https://github.com/josefglatz</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Fix capitalization in recordlist heading
|
||||||
|
|
||||||
|
Resolves: #99968
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Ie54a76fadf1000e8506ad512e14caa165c41ca86
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77876
|
||||||
|
Reviewed-by: Björn Jacob &lt;bjoern.jacob@tritum.de&gt;
|
||||||
|
Tested-by: Björn Jacob &lt;bjoern.jacob@tritum.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Reviewed-by: Oliver Klee &lt;typo3-coding@oliverklee.de&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/4936022b6a37dd9daa6f9fffd596caa40b16944b</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/4936022b6a37dd9daa6f9fffd596caa40b16944b"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Fix typo for a fe_users language key
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T16:25:02Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/19343425?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>nhovratov</name>
|
||||||
|
<uri>https://github.com/nhovratov</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Fix typo for a fe_users language key
|
||||||
|
|
||||||
|
personelData -&gt; personalData
|
||||||
|
|
||||||
|
Resolves: #99964
|
||||||
|
Releases: main
|
||||||
|
Change-Id: If59a501b2faef95c4800995fc8ba985bba343134
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77873
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Oliver Klee &lt;typo3-coding@oliverklee.de&gt;
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: Josef Glatz &lt;typo3@josefglatz.at&gt;
|
||||||
|
Reviewed-by: Josef Glatz &lt;typo3@josefglatz.at&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/6797361e3272171f38afdcc6ef9f3bfc393a02d9</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/6797361e3272171f38afdcc6ef9f3bfc393a02d9"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Add type cast for potential mountpoint information
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:59:05Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1905663?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>georgringer</name>
|
||||||
|
<uri>https://github.com/georgringer</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Add type cast for potential mountpoint information
|
||||||
|
|
||||||
|
Avoid exceptions by adding a type cast to string for the mount point
|
||||||
|
information. An additional early return avoids additional calls to
|
||||||
|
`\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode()`.
|
||||||
|
|
||||||
|
Resolves: #99946
|
||||||
|
Releases: main, 11.5
|
||||||
|
Change-Id: I18ea15c0f3e2c884e3333e55877e0f6dbe56c859
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77860
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Jochen &lt;rothjochen@gmail.com&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Tested-by: Jochen &lt;rothjochen@gmail.com&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/2115fe399dea3e8f8d134dcd02f854a5147d9de1</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/2115fe399dea3e8f8d134dcd02f854a5147d9de1"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Get the correct next stage for moved elements in workspace
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:58:23Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://1.gravatar.com/avatar/861635eb7fa03a9c060a500e14864d76?d=https%3A%2F%2Fgithub.githubassets.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png&r=g&s=30"/>
|
||||||
|
<author>
|
||||||
|
<name></name>
|
||||||
|
<email>typo3@timhorstmann.de</email>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Get the correct next stage for moved elements in workspace
|
||||||
|
|
||||||
|
The method TYPO3\CMS\Workspaces\Service\StageService-&gt;getNextStageForElementCollection relies on the field t3ver_stage to calculate the next stage for changed elements in a workspace. Without it, it falls back to 0 (zero), meaning the current stage is &quot;Editing&quot;. This fix provides the neccessary field so the next stage can be calculated correct.
|
||||||
|
|
||||||
|
Resolves: #98916
|
||||||
|
Releases: main, 11.5
|
||||||
|
Change-Id: I3b87c54b24c3cfe5eb2417fc582f3c4a3fb18ffc
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76525
|
||||||
|
Tested-by: Josua Vogel &lt;j.vogel97@web.de&gt;
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Benni Mack &lt;benni@typo3.org&gt;
|
||||||
|
Reviewed-by: Benni Mack &lt;benni@typo3.org&gt;
|
||||||
|
Reviewed-by: Josua Vogel &lt;j.vogel97@web.de&gt;
|
||||||
|
Reviewed-by: Georg Ringer &lt;georg.ringer@gmail.com&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/953b80055f67d5753d7ef142ace3c49f042209f4</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/953b80055f67d5753d7ef142ace3c49f042209f4"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Position sidebar in image cropping correctly on the right
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:41:03Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/4623070?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>ochorocho</name>
|
||||||
|
<uri>https://github.com/ochorocho</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Position sidebar in image cropping correctly on the right
|
||||||
|
|
||||||
|
Currently, the sidebar containing the cropVariants
|
||||||
|
is always positioned below.
|
||||||
|
|
||||||
|
This has been fixed by adding a missing display flex
|
||||||
|
to the modal on sm-viewport and up.
|
||||||
|
|
||||||
|
On top of that the undefined this.cropBox error
|
||||||
|
on modal load was fixed by adding a empty JQuery object
|
||||||
|
on initialization.
|
||||||
|
|
||||||
|
Resolves: #99953
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I679b188e38add5e06ad8e6334ddc15de01a42e60
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77865
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/3b1089c8594d4d1638939b0bb7bb5e67c37e8795</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/3b1089c8594d4d1638939b0bb7bb5e67c37e8795"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Refine LiveSearch form behavior
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T15:09:45Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Refine LiveSearch form behavior
|
||||||
|
|
||||||
|
The behavior of the LiveSearch form used in the modal window is refined
|
||||||
|
in several ways.
|
||||||
|
|
||||||
|
The most important change is the usage of `SearchDemand` to pre-fill the
|
||||||
|
search form. This required to add a `form` tag and to rename the
|
||||||
|
`searchField` field to `query` to align with the `SearchDemand`
|
||||||
|
requirements. Also, the `q` argument is renamed to `query` as well.
|
||||||
|
|
||||||
|
Instead of directly triggering the search at several locations, a form
|
||||||
|
submit is request. This allows to call `search()` only once and to
|
||||||
|
provide a `FormData` object, containing all fields and values for the
|
||||||
|
underlying AJAX request. With this, there is no need to store the values
|
||||||
|
in properties anymore (`this.searchTerm` and `this.searchProperties`),
|
||||||
|
which are dropped now.
|
||||||
|
|
||||||
|
Resolves: #99954
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Ibeb8c45048f8cc6c4801df648a19c0ecf7afb883
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77853
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Frank Nägler &lt;frank.naegler@typo3.com&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Reviewed-by: Frank Nägler &lt;frank.naegler@typo3.com&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/ec8d82c39732903e07677755116ef70e1c670d6c</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/ec8d82c39732903e07677755116ef70e1c670d6c"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Move PageTsBackendLayoutDataProvider namespace
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:31:49Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Move PageTsBackendLayoutDataProvider namespace
|
||||||
|
|
||||||
|
Class
|
||||||
|
\TYPO3\CMS\Backend\Provider\PageTsBackendLayoutDataProvider
|
||||||
|
is moved to more appropriate
|
||||||
|
\TYPO3\CMS\Backend\View\BackendLayout\PageTsBackendLayoutDataProvider
|
||||||
|
|
||||||
|
Resolves: #99958
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I57e329ead23deff4bd3a8c7c68b25c8b6ad79799
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77862
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/e0ba68e2629383b3174c02d4f246cd675d1af3cf</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/e0ba68e2629383b3174c02d4f246cd675d1af3cf"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Handle FormData passed to AjaxRequest API properly
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:06:58Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Handle FormData passed to AjaxRequest API properly
|
||||||
|
|
||||||
|
The AjaxRequest API is now able to cope with `FormData` objects passed
|
||||||
|
as first argument in either `post()`, `put()` or `delete()`.
|
||||||
|
Previously, a workaround was necessary that submitted
|
||||||
|
`{body: formData}` as `RequestInit` to fulfill this task. Since this
|
||||||
|
workaround is not required anymore, usages are adapted accordingly.
|
||||||
|
|
||||||
|
Resolves: #99955
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I8e04040d262c874e9d51bff58eb1f7c378b05a18
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77861
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/7e57642c91aacbb1a1ad16895caf1cad1f504156</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/7e57642c91aacbb1a1ad16895caf1cad1f504156"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Avoid GU::_GP() in DataHandler
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T12:05:11Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Avoid GU::_GP() in DataHandler
|
||||||
|
|
||||||
|
DataHandler should of course *not* have a dependency
|
||||||
|
to _GET or _POST: All data should be hand over as
|
||||||
|
&quot;command&quot; and &quot;data&quot; array.
|
||||||
|
|
||||||
|
Flex form handling violates this for section container
|
||||||
|
deletion and sorting by using GeneralUtility::_GP().
|
||||||
|
|
||||||
|
The patch changes the logic to carry the &quot;_ACTION&quot;
|
||||||
|
information within the flex data array. This simplifies
|
||||||
|
the flex form handling logic a bit, we can get rid
|
||||||
|
of a recursion along the way.
|
||||||
|
|
||||||
|
Resolves: #99952
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Ifaa15162d018725fe3ba8ae7b1a05655a0cffb36
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77856
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/51bef53fe5775b0708155921080ccbe66952cc3e</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/51bef53fe5775b0708155921080ccbe66952cc3e"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Avoid GU::_GP() in PageTsBackendLayoutDataProvider
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T11:29:02Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Avoid GU::_GP() in PageTsBackendLayoutDataProvider
|
||||||
|
|
||||||
|
The method using GU::_GP() can get more data
|
||||||
|
hand over to always have the pageId available
|
||||||
|
already. Do this and avoid another call to
|
||||||
|
GeneralUtility::_GP().
|
||||||
|
|
||||||
|
Note the entire backend layout handling carries
|
||||||
|
far too much state, is complex in general and
|
||||||
|
hard to follow. It should be streamlined and
|
||||||
|
simplified.
|
||||||
|
|
||||||
|
Resolves: #99948
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I13a70a234dae0a20256e4a932de891a49531c9af
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77852
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/773c4f581b17a96e9cc17436d546385100c72f81</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/773c4f581b17a96e9cc17436d546385100c72f81"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Add delete action for usergroup list
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-15T10:17:08Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/4623070?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>ochorocho</name>
|
||||||
|
<uri>https://github.com/ochorocho</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Add delete action for usergroup list
|
||||||
|
|
||||||
|
Currently, the list of usergroups does not
|
||||||
|
contain a delete button but the user list does.
|
||||||
|
|
||||||
|
A delete button was added to have a consistent
|
||||||
|
ui for user and group listing.
|
||||||
|
|
||||||
|
Resolves: #99867
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I7e5de8091fb053a182d6c45c73ccb7af69485221
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77772
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/32dc37fe7d61990fb74cc3d559089576439e4c7f</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/32dc37fe7d61990fb74cc3d559089576439e4c7f"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Guard ConstantEditor with copy operator in constants
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T12:13:44Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1453466?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>sbuerk</name>
|
||||||
|
<uri>https://github.com/sbuerk</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Guard ConstantEditor with copy operator in constants
|
||||||
|
|
||||||
|
If copy operator &#39;&lt;&#39; is used in TypoScript constants for a
|
||||||
|
constant with a constant editor configuration comment, the
|
||||||
|
&quot;Call to member function getType() on null&quot; exception is
|
||||||
|
emitted.
|
||||||
|
|
||||||
|
Example TypoScript constants:
|
||||||
|
|
||||||
|
&gt; # cat=custom/a; type=color; label=Primary Color
|
||||||
|
&gt; plugin.tx_example.primaryColor = #282E31
|
||||||
|
&gt;
|
||||||
|
&gt; # cat=custom/a; type=color; label=Other Color
|
||||||
|
&gt; plugin.tx_example.otherColor &lt; plugin.tx_example.primaryColor
|
||||||
|
|
||||||
|
This may happen when a comment token stream is
|
||||||
|
handled multiple times without being reset properly.
|
||||||
|
|
||||||
|
Resolves: #99906
|
||||||
|
Related: #97816
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I5c15a9bf194f8c24e7306213218e1b801fe7cb72
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77808
|
||||||
|
Reviewed-by: Oliver Bartsch &lt;bo@cedev.de&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Oliver Bartsch &lt;bo@cedev.de&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/c3c61edff0983a99d30d6cbc32ef0b2cb29661cb</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/c3c61edff0983a99d30d6cbc32ef0b2cb29661cb"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Deprecate PageRenderer->enableDebugMode()
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T11:25:55Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1925287?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>maddy2101</name>
|
||||||
|
<uri>https://github.com/maddy2101</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Deprecate PageRenderer-&gt;enableDebugMode()
|
||||||
|
|
||||||
|
PageRenderer-&gt;enableDebugMode() is only called in
|
||||||
|
backend by the core. The properties set by the
|
||||||
|
method do not have any effect in BE during further
|
||||||
|
processing.
|
||||||
|
|
||||||
|
The method is typically not called in Frontend,
|
||||||
|
any calls can be moved to the single setters
|
||||||
|
instead.
|
||||||
|
|
||||||
|
The patch deprecates PageRenderer-&gt;enableDebugMode().
|
||||||
|
|
||||||
|
Resolves: #99932
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Iddef89c9e97f721a7b33ccc838d20f17b03471f4
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77831
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Anja Leichsenring &lt;aleichsenring@ab-softlab.de&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Georg Ringer &lt;georg.ringer@gmail.com&gt;
|
||||||
|
Reviewed-by: Anja Leichsenring &lt;aleichsenring@ab-softlab.de&gt;
|
||||||
|
Reviewed-by: Georg Ringer &lt;georg.ringer@gmail.com&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/68d67171c1d9a61e0d056ae849aa0c1db4ba6eda</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/68d67171c1d9a61e0d056ae849aa0c1db4ba6eda"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Deprecate the limit parameter for GU::intExplode
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T10:09:09Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/765746?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>oliverklee</name>
|
||||||
|
<uri>https://github.com/oliverklee</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Deprecate the limit parameter for GU::intExplode
|
||||||
|
|
||||||
|
Passing a limit to `GU::intExplode` will cause the method to
|
||||||
|
potentially return a string as the last array element, which
|
||||||
|
is not documented and directly contradicts the method contract
|
||||||
|
(which states that an array of integers will be returned).
|
||||||
|
|
||||||
|
The deprecated parameter is not used in the Core at all.
|
||||||
|
|
||||||
|
Resolves: #99900
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Ic175fcef56f78c9bc237850fc7c7b1d31701d6f8
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77806
|
||||||
|
Tested-by: Nikita Hovratov &lt;nikita.h@live.de&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Nikita Hovratov &lt;nikita.h@live.de&gt;
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/0a9b218aadbb772e1c37f9ca0b446bd6c1648542</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/0a9b218aadbb772e1c37f9ca0b446bd6c1648542"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Refine LiveSearch search demand
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-14T08:46:18Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1787983?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>andreasfernandez</name>
|
||||||
|
<uri>https://github.com/andreasfernandez</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Refine LiveSearch search demand
|
||||||
|
|
||||||
|
The search demand implementation used by the LiveSearch is refined to be
|
||||||
|
more flexible. Instead of a hard-coded list of properties, the
|
||||||
|
constructor now receives a list of `DemandProperty` instances that
|
||||||
|
accept everything that is backed by the `DemandPropertyName` enum,
|
||||||
|
allowing to pass only the required properties.
|
||||||
|
|
||||||
|
The `SearchDemand` class is immutable by design, it&#39;s API must not
|
||||||
|
allow modification by 3rd parties. However, there is an internal
|
||||||
|
`MutableSearchDemand` acting as a helper that allows to add / override
|
||||||
|
properties. A `SearchDemand` object may be constructed from a request
|
||||||
|
object, where it&#39;s payload must contain properties from the
|
||||||
|
aforementioned `DemandPropertyName` enum.
|
||||||
|
|
||||||
|
Resolves: #99941
|
||||||
|
Releases: main
|
||||||
|
Change-Id: I880855943a67237fa765cd3da94333e8aaa3a2a2
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77842
|
||||||
|
Reviewed-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Georg Ringer &lt;georg.ringer@gmail.com&gt;
|
||||||
|
Reviewed-by: Anja Leichsenring &lt;aleichsenring@ab-softlab.de&gt;
|
||||||
|
Reviewed-by: Georg Ringer &lt;georg.ringer@gmail.com&gt;
|
||||||
|
Tested-by: Andreas Fernandez &lt;a.fernandez@scripting-base.de&gt;
|
||||||
|
Tested-by: Anja Leichsenring &lt;aleichsenring@ab-softlab.de&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/26ca6872684ccc469a9e2981cb8cf3bb83134d12</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/26ca6872684ccc469a9e2981cb8cf3bb83134d12"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Toolbar link to environment opens in iframe
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:28:45Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/2178068?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>lolli42</name>
|
||||||
|
<uri>https://github.com/lolli42</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Toolbar link to environment opens in iframe
|
||||||
|
|
||||||
|
Toolbar &gt; SystemInformation has a link to
|
||||||
|
Environment module that opens without module
|
||||||
|
menu and toolbar, just the main iframe.
|
||||||
|
|
||||||
|
Links from within the top iframe are managed
|
||||||
|
by JS and need some magic to trigger this
|
||||||
|
properly.
|
||||||
|
|
||||||
|
Resolves: #99854
|
||||||
|
Releases: main
|
||||||
|
Change-Id: Ic824e3dc3e409b8f86108654af6b540061de05f0
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77838
|
||||||
|
Tested-by: Jasmina Ließmann &lt;minapokhalo+typo3@gmail.com&gt;
|
||||||
|
Reviewed-by: Jasmina Ließmann &lt;minapokhalo+typo3@gmail.com&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/614e15d76087e775b965c4fb6e5e4ae59692c128</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/614e15d76087e775b965c4fb6e5e4ae59692c128"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Make extbase repository generic (phpstan-wise)
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:27:52Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/711459?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>alexanderschnitzler</name>
|
||||||
|
<uri>https://github.com/alexanderschnitzler</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Make extbase repository generic (phpstan-wise)
|
||||||
|
|
||||||
|
This patch introduces template tags on the extbase repository
|
||||||
|
interface, the extbase repository class and the abstract resource
|
||||||
|
repository class (File, ProcessedFile etc.) to let static code
|
||||||
|
analyzers and modern IDE&#39;s know what that those repositories are
|
||||||
|
generic.
|
||||||
|
|
||||||
|
This patch also introduces extends tags on actual reposities to
|
||||||
|
let static code analysis know what kind of object the repository
|
||||||
|
deals with.
|
||||||
|
|
||||||
|
As a byproduct, a few phpdoc params and return types have been
|
||||||
|
fixed or specified.
|
||||||
|
|
||||||
|
Releases: main
|
||||||
|
Resolves: #99931
|
||||||
|
Change-Id: I0056e420406fa84693d4104db9d7a9ec362c33d7
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77825
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/f54531dad88addc4639f09b4cc37228524156d0c</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/f54531dad88addc4639f09b4cc37228524156d0c"/>
|
||||||
|
<title>
|
||||||
|
[TASK] Eliminate double serialization in ApcuBackend
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:15:26Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/1443144?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>MaxKellermann</name>
|
||||||
|
<uri>https://github.com/MaxKellermann</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[TASK] Eliminate double serialization in ApcuBackend
|
||||||
|
|
||||||
|
APCu can store arbitrary PHP data; it serializes all
|
||||||
|
values when they are stored, and it has a pluggable
|
||||||
|
serializer interface which can use serializers that
|
||||||
|
are better than serialize(), such as &quot;igbinary&quot;,
|
||||||
|
see [1] and [2].
|
||||||
|
|
||||||
|
By not implementing TransientBackendInterface, the
|
||||||
|
ApcuBackend forces class VariableFrontend to serialize
|
||||||
|
all values into a string, but APCu serializes the
|
||||||
|
string again.
|
||||||
|
|
||||||
|
This adds TransientBackendInterface and removes the
|
||||||
|
is_string() check. Double serialization is eliminated
|
||||||
|
by this change.
|
||||||
|
|
||||||
|
Additionally, the unit tests are turned into
|
||||||
|
functionals, the backend is declared final, gets
|
||||||
|
some more type hints and uses the quicker xxh3 hash.
|
||||||
|
|
||||||
|
[1] https://www.php.net/manual/en/book.igbinary.php
|
||||||
|
[2] https://pecl.php.net/package/igbinary
|
||||||
|
|
||||||
|
Releases: main
|
||||||
|
Resolves: #99851
|
||||||
|
Change-Id: I8663deefd1ffeb249376119287191bcec9ef2420
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77717
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:github.com,2008:Grit::Commit/66d3625281f47ef788f8663c0dbd050081d3fe74</id>
|
||||||
|
<link type="text/html" rel="alternate" href="https://github.com/TYPO3/typo3/commit/66d3625281f47ef788f8663c0dbd050081d3fe74"/>
|
||||||
|
<title>
|
||||||
|
[BUGFIX] Handle array access in LocalImageProcessor
|
||||||
|
</title>
|
||||||
|
<updated>2023-02-13T18:04:14Z</updated>
|
||||||
|
<media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/13206455?s=30&v=4"/>
|
||||||
|
<author>
|
||||||
|
<name>sypets</name>
|
||||||
|
<uri>https://github.com/sypets</uri>
|
||||||
|
</author>
|
||||||
|
<content type="html">
|
||||||
|
<pre style='white-space:pre-wrap;width:81ex'>[BUGFIX] Handle array access in LocalImageProcessor
|
||||||
|
|
||||||
|
Handle missing image dimensions (width, height)
|
||||||
|
without throwing an exception.
|
||||||
|
|
||||||
|
In same cases, image dimension may not be able to be
|
||||||
|
set properly.
|
||||||
|
|
||||||
|
Resolves: #99406
|
||||||
|
Releases: main, 11.5
|
||||||
|
Change-Id: I81124dcaf29932448a87b69ab5bf6445eeb7469c
|
||||||
|
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77844
|
||||||
|
Reviewed-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Reviewed-by: Oliver Klee &lt;typo3-coding@oliverklee.de&gt;
|
||||||
|
Tested-by: core-ci &lt;typo3@b13.com&gt;
|
||||||
|
Reviewed-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;
|
||||||
|
Tested-by: Stefan Bürk &lt;stefan@buerk.tech&gt;
|
||||||
|
Tested-by: Christian Kuhn &lt;lolli@schwarzbu.ch&gt;</pre>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
|
</feed>
|
75
tests/Unit/Wrapper/GitHubTypo3Test.php
Normal file
75
tests/Unit/Wrapper/GitHubTypo3Test.php
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Daniel Siepmann <coding@daniel-siepmann.de>
|
||||||
|
*
|
||||||
|
* This program 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.
|
||||||
|
*
|
||||||
|
* This program 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.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace DanielSiepmann\FediverseFeedWrappers\Tests\Unit\Wrapper;
|
||||||
|
|
||||||
|
use DanielSiepmann\FediverseFeedWrappers\WrapperInterface;
|
||||||
|
use DanielSiepmann\FediverseFeedWrappers\Wrapper\GitHubTypo3;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \DanielSiepmann\FediverseFeedWrappers\Wrapper\GitHubTypo3
|
||||||
|
*/
|
||||||
|
class GitHubTypo3Test extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function canBeCreated(): void
|
||||||
|
{
|
||||||
|
$subject = new GitHubTypo3();
|
||||||
|
|
||||||
|
self::assertInstanceOf(
|
||||||
|
GitHubTypo3::class,
|
||||||
|
$subject
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function isInstanceOfWrapperInterface(): void
|
||||||
|
{
|
||||||
|
$subject = new GitHubTypo3();
|
||||||
|
|
||||||
|
self::assertInstanceOf(
|
||||||
|
WrapperInterface::class,
|
||||||
|
$subject
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function returnsAdjustedFeed(): void
|
||||||
|
{
|
||||||
|
$subject = new GitHubTypo3(
|
||||||
|
__DIR__ . '/Fixtures/GitHubTypo3.atom'
|
||||||
|
);
|
||||||
|
|
||||||
|
self::assertStringEqualsFile(
|
||||||
|
__DIR__ . '/Assertions/GitHubTypo3.atom',
|
||||||
|
$subject->handle()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
77
tests/Unit/WrapperRegistryTest.php
Normal file
77
tests/Unit/WrapperRegistryTest.php
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Daniel Siepmann <coding@daniel-siepmann.de>
|
||||||
|
*
|
||||||
|
* This program 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.
|
||||||
|
*
|
||||||
|
* This program 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.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace DanielSiepmann\FediverseFeedWrappers\Tests\Unit;
|
||||||
|
|
||||||
|
use DanielSiepmann\FediverseFeedWrappers\WrapperRegistry;
|
||||||
|
use InvalidArgumentException;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \DanielSiepmann\FediverseFeedWrappers\WrapperRegistry
|
||||||
|
*/
|
||||||
|
class WrapperRegistryTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function canBeCreated(): void
|
||||||
|
{
|
||||||
|
$subject = new WrapperRegistry([]);
|
||||||
|
|
||||||
|
self::assertInstanceOf(
|
||||||
|
WrapperRegistry::class,
|
||||||
|
$subject
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function throwsExceptionIfRequestedIdentifierIsNotConfigured(): void
|
||||||
|
{
|
||||||
|
$subject = new WrapperRegistry([]);
|
||||||
|
|
||||||
|
$this->expectException(InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionCode(1676531371);
|
||||||
|
$this->expectExceptionMessage('No wrapper found for "Identifier", only available: .');
|
||||||
|
|
||||||
|
$subject->get('Identifier');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function throwsExceptionIfRequestedIdentifierIsNotOfExpectedInterface(): void
|
||||||
|
{
|
||||||
|
$subject = new WrapperRegistry([
|
||||||
|
'Identifier' => 'wrong type',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->expectException(InvalidArgumentException::class);
|
||||||
|
$this->expectExceptionCode(1676531371);
|
||||||
|
$this->expectExceptionMessage('No wrapper found for "Identifier", only available: Identifier.');
|
||||||
|
|
||||||
|
$subject->get('Identifier');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue