Merge pull request #258 from Spomky-Labs/temp-489ead #35
infection.yml
on: push
0️⃣ Mutation Testing
1m 45s
Annotations
11 warnings
0️⃣ Mutation Testing
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L46
Escaped Mutant for Mutator "BitwiseOr":
@@ @@
{
$this->workbox = $serviceWorker->workbox;
$this->assetPublicPrefix = rtrim($publicAssetsPathResolver->resolvePublicPath(''), '/');
- $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR;
+ $options = JSON_UNESCAPED_SLASHES & JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR;
if ($debug === true) {
$options |= JSON_PRETTY_PRINT;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L43
Escaped Mutant for Mutator "ConcatOperandRemoval":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L45
Escaped Mutant for Mutator "LogicalAnd":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled || $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L45
Escaped Mutant for Mutator "LogicalAndNegation":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create(!($this->workbox->enabled && $this->workbox->googleFontCache->enabled), true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L50
Escaped Mutant for Mutator "Concat":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName('google-fonts-webfonts' . $prefix)->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L50
Escaped Mutant for Mutator "ConcatOperandRemoval":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix)->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L54
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 31, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L54
Escaped Mutant for Mutator "Coalesce":
@@ @@
if ($prefix !== '') {
$prefix .= '-';
}
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create($this->workbox->googleFontCache->maxEntries ?? 30, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_STALE_WHILE_REVALIDATE, "({url}) => url.origin === 'https://fonts.googleapis.com'")->withName($prefix . 'google-fonts-stylesheets'), WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->googleFontCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, "({url}) => url.origin === 'https://fonts.gstatic.com'")->withName($prefix . 'google-fonts-webfonts')->withPlugin(CacheableResponsePlugin::create(), ExpirationPlugin::create(30 ?? $this->workbox->googleFontCache->maxEntries, $this->workbox->googleFontCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365))];
$this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L47
Escaped Mutant for Mutator "Identical":
@@ @@
$this->workbox = $serviceWorker->workbox;
$this->assetPublicPrefix = rtrim($publicAssetsPathResolver->resolvePublicPath(''), '/');
$options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR;
- if ($debug === true) {
+ if ($debug !== true) {
$options |= JSON_PRETTY_PRINT;
}
$this->jsonOptions = $options;
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L62
Escaped Mutant for Mutator "LogicalAnd":
@@ @@
{
$this->logger->debug('Getting cache strategies for assets');
$urls = json_decode($this->serializer->serialize($this->getAssets(), 'json', [JsonEncode::OPTIONS => $this->jsonOptions]), true);
- $strategy = WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->assetCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({url}) => url.pathname.startsWith('%s')", $this->assetPublicPrefix))->withName($this->workbox->assetCache->cacheName)->withPlugin(ExpirationPlugin::create(count($this->getAssets()) * 2, $this->workbox->assetCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365));
+ $strategy = WorkboxCacheStrategy::create($this->workbox->enabled || $this->workbox->assetCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({url}) => url.pathname.startsWith('%s')", $this->assetPublicPrefix))->withName($this->workbox->assetCache->cacheName)->withPlugin(ExpirationPlugin::create(count($this->getAssets()) * 2, $this->workbox->assetCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365));
if (count($urls) > 0) {
$strategy = $strategy->withPreloadUrl(...$urls);
}
|