fix issue #230 (#231) #25
infection.yml
on: push
0️⃣ Mutation Testing
2m 6s
Annotations
10 warnings
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L46
Escaped Mutant for Mutator "TrueValue":
--- Original
+++ New
@@ @@
$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 === false) {
$options |= JSON_PRETTY_PRINT;
}
$this->jsonOptions = $options;
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L59
Escaped Mutant for Mutator "ArrayItemRemoval":
--- Original
+++ New
@@ @@
$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))];
- $this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
+ $this->logger->debug('Google Fonts cache strategies', []);
return $strategies;
}
public function setLogger(LoggerInterface $logger): void
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L59
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
$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))];
- $this->logger->debug('Google Fonts cache strategies', ['strategies' => $strategies]);
+
return $strategies;
}
public function setLogger(LoggerInterface $logger): void
|
0️⃣ Mutation Testing:
src/CachingStrategy/GoogleFontCache.php#L63
Escaped Mutant for Mutator "ArrayOneItem":
--- Original
+++ New
@@ @@
}
$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;
+ return count($strategies) > 1 ? array_slice($strategies, 0, 1, true) : $strategies;
}
public function setLogger(LoggerInterface $logger): void
{
|
0️⃣ Mutation Testing:
src/CachingStrategy/ImageCache.php#L37
Escaped Mutant for Mutator "LogicalAnd":
--- Original
+++ New
@@ @@
}
public function getCacheStrategies(): array
{
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->imageCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({request, url}) => (request.destination === 'image' && !url.pathname.startsWith('%s'))", $this->assetPublicPrefix))->withName($this->workbox->imageCache->cacheName ?? 'images')];
+ $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled || $this->workbox->imageCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({request, url}) => (request.destination === 'image' && !url.pathname.startsWith('%s'))", $this->assetPublicPrefix))->withName($this->workbox->imageCache->cacheName ?? 'images')];
$this->logger->debug('Image cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/ImageCache.php#L37
Escaped Mutant for Mutator "LogicalAndNegation":
--- Original
+++ New
@@ @@
}
public function getCacheStrategies(): array
{
- $strategies = [WorkboxCacheStrategy::create($this->workbox->enabled && $this->workbox->imageCache->enabled, true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({request, url}) => (request.destination === 'image' && !url.pathname.startsWith('%s'))", $this->assetPublicPrefix))->withName($this->workbox->imageCache->cacheName ?? 'images')];
+ $strategies = [WorkboxCacheStrategy::create(!($this->workbox->enabled && $this->workbox->imageCache->enabled), true, CacheStrategyInterface::STRATEGY_CACHE_FIRST, sprintf("({request, url}) => (request.destination === 'image' && !url.pathname.startsWith('%s'))", $this->assetPublicPrefix))->withName($this->workbox->imageCache->cacheName ?? 'images')];
$this->logger->debug('Image cache strategies', ['strategies' => $strategies]);
return $strategies;
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L46
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
$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#L56
Escaped Mutant for Mutator "ArrayItemRemoval":
--- Original
+++ New
@@ @@
public function getCacheStrategies(): array
{
$this->logger->debug('Getting cache strategies for assets');
- $urls = json_decode($this->serializer->serialize($this->getAssets(), 'json', [JsonEncode::OPTIONS => $this->jsonOptions]), true);
+ $urls = json_decode($this->serializer->serialize($this->getAssets(), 'json', []), 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));
if (count($urls) > 0) {
$strategy = $strategy->withPreloadUrl(...$urls);
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L62
Escaped Mutant for Mutator "TrueValue":
--- Original
+++ New
@@ @@
{
$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, false, 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);
}
|
0️⃣ Mutation Testing:
src/CachingStrategy/AssetCache.php#L69
Escaped Mutant for Mutator "DecrementInteger":
--- Original
+++ New
@@ @@
{
$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()) * 1, $this->workbox->assetCache->maxAgeInSeconds() ?? 60 * 60 * 24 * 365));
if (count($urls) > 0) {
$strategy = $strategy->withPreloadUrl(...$urls);
}
|