Introduce serializer and introduce json serialization instead of php serialization #200
build.yaml
on: pull_request
Matrix: Code Coverage
Matrix: Coding Standards
Matrix: Dependency Analysis
Matrix: Mutation tests
Matrix: Static Code Analysis
Matrix: Unit tests
Annotations
10 warnings
Mutation tests (8.3, highest):
src/Generator/ValueBasedFingerprintGenerator.php#L16
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
private readonly string $hashAlgorithm;
public function __construct(string $hashAlgorithm = 'md5')
{
- Assert::oneOf($hashAlgorithm, hash_algos());
+
$this->hashAlgorithm = $hashAlgorithm;
}
public function generate(TagInterface $tag, string $renderedValue) : string
|
Mutation tests (8.3, highest):
src/Renderer/AttributesAwareRendererTrait.php#L11
Escaped Mutant for Mutator "PublicVisibility":
--- Original
+++ New
@@ @@
use Setono\TagBag\Tag\AttributesAwareInterface;
trait AttributesAwareRendererTrait
{
- public function renderAttributes(AttributesAwareInterface $tag) : string
+ protected function renderAttributes(AttributesAwareInterface $tag) : string
{
$attributes = '';
foreach ($tag->getAttributes() as $attribute => $value) {
|
Mutation tests (8.3, highest):
src/Renderer/CompositeRenderer.php#L17
Escaped Mutant for Mutator "Foreach_":
--- Original
+++ New
@@ @@
private array $renderers = [];
public function __construct(RendererInterface ...$renderers)
{
- foreach ($renderers as $renderer) {
+ foreach (array() as $renderer) {
$this->add($renderer);
}
}
|
Mutation tests (8.3, highest):
src/Renderer/ContentAwareRenderer.php#L23
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
}
public function render(TagInterface $tag) : string
{
- Assert::true($this->supports($tag));
+
return $tag->getContent();
}
}
|
Mutation tests (8.3, highest):
src/Renderer/ElementRenderer.php#L28
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
*/
public function render(TagInterface $tag) : string
{
- Assert::true($this->supports($tag));
+
if ($tag->hasClosingElement()) {
return sprintf('<%s%s>%s</%s>', $tag->getElement(), $this->renderAttributes($tag), $tag->getContent(), $tag->getElement());
}
|
Mutation tests (8.3, highest):
src/Serializer/CompositeSerializer.php#L21
Escaped Mutant for Mutator "PublicVisibility":
--- Original
+++ New
@@ @@
$this->add($serializer);
}
}
- public function add(SerializerInterface $serializer) : void
+ protected function add(SerializerInterface $serializer) : void
{
$this->serializers[] = $serializer;
}
|
Mutation tests (8.3, highest):
src/Serializer/JsonSerializer.php#L28
Escaped Mutant for Mutator "DecrementInteger":
--- Original
+++ New
@@ @@
{
try {
/** @var mixed $data */
- $data = json_decode($data, true, 512, \JSON_THROW_ON_ERROR);
+ $data = json_decode($data, true, 511, \JSON_THROW_ON_ERROR);
Assert::isArray($data);
$tags = [];
foreach ($data as $section => $sectionTags) {
|
Mutation tests (8.3, highest):
src/Serializer/JsonSerializer.php#L28
Escaped Mutant for Mutator "IncrementInteger":
--- Original
+++ New
@@ @@
{
try {
/** @var mixed $data */
- $data = json_decode($data, true, 512, \JSON_THROW_ON_ERROR);
+ $data = json_decode($data, true, 513, \JSON_THROW_ON_ERROR);
Assert::isArray($data);
$tags = [];
foreach ($data as $section => $sectionTags) {
|
Mutation tests (8.3, highest):
src/Serializer/JsonSerializer.php#L29
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
try {
/** @var mixed $data */
$data = json_decode($data, true, 512, \JSON_THROW_ON_ERROR);
- Assert::isArray($data);
+
$tags = [];
foreach ($data as $section => $sectionTags) {
Assert::string($section);
|
Mutation tests (8.3, highest):
src/Serializer/JsonSerializer.php#L34
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
Assert::isArray($data);
$tags = [];
foreach ($data as $section => $sectionTags) {
- Assert::string($section);
+
Assert::isArray($sectionTags);
/** @var mixed $tag */
foreach ($sectionTags as $tag) {
|