1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-09-15 18:57:05 +00:00

Add build test on PHP 8.0 & 8.1

Add `isTransactional` to `WallabagMigration` because PHP 8 behave differently with PDO transaction.
This is a workaround because we can't upgrade Doctrine Migration for now (upper versions have the fix).

- Build is now using Composer v2 (instead of v1)
- All actions have been updated to latest version
- Fix bug in PHP 8 were `$entry->getTags()` can't be properly used as a _traversable_ by `assertContains` during tests. Added a custom method `Entry::getTagsLabel()` which return a flatted tag array with only label
- Replace `assertNotRegExp` by `assertDoesNotMatchRegularExpression` because it was deprecated
This commit is contained in:
Jeremy Benoist 2022-01-31 09:27:20 +01:00
parent 6aeaaaabdd
commit 3c507d676f
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
15 changed files with 48 additions and 23 deletions

View file

@ -30,6 +30,16 @@ abstract class WallabagMigration extends AbstractMigration implements ContainerA
$this->container = $container;
}
/**
* @todo remove when upgrading DoctrineMigration (only needed for PHP 8)
*
* @see https://github.com/doctrine/DoctrineMigrationsBundle/issues/393
*/
public function isTransactional(): bool
{
return false;
}
protected function getTable($tableName, $unEscaped = false)
{
$table = $this->container->getParameter('database_table_prefix') . $tableName;

View file

@ -682,6 +682,19 @@ class Entry
return $this->tags;
}
/**
* Only used during tests.
*/
public function getTagsLabel(): array
{
$tags = [];
foreach ($this->tags as $tag) {
$tags[] = $tag->getLabel();
}
return $tags;
}
/**
* @VirtualProperty
* @SerializedName("tags")