From 5abe284f6c166f9549244e64cdc40f962c07468f Mon Sep 17 00:00:00 2001 From: Thomas Peterson Date: Tue, 29 Jul 2025 14:23:31 +0200 Subject: [PATCH] fixes --- cobertura.xml | 288 ++++++++++++++++++---------------- src/Option/Parser/Media.php | 8 +- src/Option/Type/Media.php | 10 +- tests/Json/Type/MediaTest.php | 45 ++++++ 4 files changed, 214 insertions(+), 137 deletions(-) create mode 100644 tests/Json/Type/MediaTest.php diff --git a/cobertura.xml b/cobertura.xml index b8e2448..0e6bfef 100644 --- a/cobertura.xml +++ b/cobertura.xml @@ -1,6 +1,6 @@ - + /home/thomas/projekte/calc/src @@ -5529,12 +5529,12 @@ - + - + @@ -5549,45 +5549,45 @@ - - - - - - + + + + + + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + @@ -5600,45 +5600,45 @@ - - + + - - - - - - + + + + + + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + @@ -6090,26 +6090,34 @@ - + - + - + - + - + - - + + + + + + + + - - - + + + + + @@ -6980,8 +6988,8 @@ - - + + @@ -6996,17 +7004,17 @@ - + - + - + @@ -7026,12 +7034,12 @@ - + - + @@ -7046,12 +7054,12 @@ - + - + @@ -7131,7 +7139,7 @@ - + @@ -7156,7 +7164,7 @@ - + @@ -7186,64 +7194,64 @@ - - - - - - - + + + + + + + - + - + - + - - - - - - - + + + + + + + - + - + - + - + - - + + - - - + + + - - + + - - + + @@ -7259,12 +7267,12 @@ - + - + @@ -7274,40 +7282,40 @@ - - - - - - - + + + + + + + - + - + - - - - - - - - + + + + + + + + - + - + - + - + @@ -7856,22 +7864,34 @@ - + - + - + - - - + + + + + + + + + + + - - - + + + + + + + diff --git a/src/Option/Parser/Media.php b/src/Option/Parser/Media.php index 4419d16..6f0cd2c 100644 --- a/src/Option/Parser/Media.php +++ b/src/Option/Parser/Media.php @@ -13,11 +13,17 @@ class Media extends Base $this->element = new \PSC\Library\Calc\Option\Type\Media(); } + public function parseJson(): PSCMedia + { + parent::parseJson(); + + return $this->element; + } + public function parseXML(): PSCMedia { parent::parseXML(); return $this->element; } - } diff --git a/src/Option/Type/Media.php b/src/Option/Type/Media.php index 72bca40..bade397 100644 --- a/src/Option/Type/Media.php +++ b/src/Option/Type/Media.php @@ -1,9 +1,9 @@ [ + 'default' => $this->getDefault(), + ]]; + return array_merge_recursive($tmp, parent::generateXML()); + } } diff --git a/tests/Json/Type/MediaTest.php b/tests/Json/Type/MediaTest.php new file mode 100644 index 0000000..dca00e8 --- /dev/null +++ b/tests/Json/Type/MediaTest.php @@ -0,0 +1,45 @@ +json = json_decode('{ + "id": "2a2e93d0-d1e9-421e-a55e-c4c165964dc7", + "type": 9, + "dependencys": [], + "default": "68811e762871b8156408ee94", + "name": "" + }', true); + + $this->xml = ''; + } + + public function testFromJson() + { + $parser = new Media(); + $parser->fromJson($this->json); + $obj = $parser->parseJson(); + + $xml = ArrayToXml::convert($obj->generateXML(), 'option'); + self::assertXmlStringEqualsXmlString($xml, $this->xml); + } + + public function testFromXML() + { + $parser = new Media(); + $parser->fromXML(simplexml_load_string($this->xml)); + $obj = $parser->parseXML(); + + self::assertJsonStringEqualsJsonString(json_encode($obj->generateJson()), json_encode($this->json)); + } +}