diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d655d961..ec32f8d8 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -75,10 +75,10 @@ jobs:
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Run test suite
- run: composer run-script test
+ run: ./vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml --exclude-group twig
- name: PHPStan
- run: phpstan analyse --level=5 src/
+ run: ./vendor/bin/phpstan analyse --level=5 src/
- name: PHPCS
run: phpcs --standard=tests/phpcs.xml --ignore=\*Minifier.php src/ | cs2pr
@@ -110,7 +110,7 @@ jobs:
run: composer update --no-interaction --no-suggest
- name: Run test suite
- run: composer run-script test-sonar
+ run: ./vendor/bin/phpunit --configuration tests/phpunit.xml --exclude-group twig --coverage-clover=./var/coverage/clover.xml
- name: Code coverage Scan
uses: codecov/codecov-action@v1
diff --git a/composer.json b/composer.json
index 10012cf8..7233d79b 100644
--- a/composer.json
+++ b/composer.json
@@ -38,12 +38,6 @@
"phpstan/phpstan": "^0.12.17"
},
"scripts": {
- "test": [
- "vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml"
- ],
- "test-sonar": [
- "vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover=./var/coverage/clover.xml"
- ],
"phar": [
"vendor/bin/phing phar",
"sha256sum build/out/*"
diff --git a/src/PHPDraft/Model/Elements/ArrayStructureElement.php b/src/PHPDraft/Model/Elements/ArrayStructureElement.php
index fb398ada..0877f897 100644
--- a/src/PHPDraft/Model/Elements/ArrayStructureElement.php
+++ b/src/PHPDraft/Model/Elements/ArrayStructureElement.php
@@ -12,6 +12,8 @@
namespace PHPDraft\Model\Elements;
+use Michelf\MarkdownExtra;
+
/**
* Class ArrayStructureElement.
*/
@@ -58,7 +60,7 @@ public function __toString(): string
if (is_string($this->value)) {
$type = $this->get_element_as_html($this->element);
- return '
| ' . $this->key . ' | ' . $type . ' | ' . $this->description . ' |
';
+ return '| ' . $this->key . ' | ' . $type . ' | ' . MarkdownExtra::defaultTransform($this->description) . ' |
';
}
$return = '';
diff --git a/src/PHPDraft/Model/Elements/BasicStructureElement.php b/src/PHPDraft/Model/Elements/BasicStructureElement.php
index 3a92dd3d..912442e4 100644
--- a/src/PHPDraft/Model/Elements/BasicStructureElement.php
+++ b/src/PHPDraft/Model/Elements/BasicStructureElement.php
@@ -117,7 +117,7 @@ protected function parse_common(object $object, array &$dependencies): void
$this->description = htmlentities($object->meta->description);
}
if ($this->description !== null) {
- $encoded = htmlentities($this->description, ENT_COMPAT, null, false);
+ $encoded = htmlentities($this->description, ENT_COMPAT, 'ISO-8859-1', false);
$this->description = $encoded;
}
diff --git a/src/PHPDraft/Model/Elements/EnumStructureElement.php b/src/PHPDraft/Model/Elements/EnumStructureElement.php
index 0ea09a5e..dce555fc 100644
--- a/src/PHPDraft/Model/Elements/EnumStructureElement.php
+++ b/src/PHPDraft/Model/Elements/EnumStructureElement.php
@@ -12,6 +12,8 @@
namespace PHPDraft\Model\Elements;
+use Michelf\MarkdownExtra;
+
class EnumStructureElement extends BasicStructureElement
{
/**
@@ -80,7 +82,7 @@ public function __toString(): string
if (is_string($this->value)) {
$type = $this->get_element_as_html($this->element);
- return '| ' . $this->key->value . ' | ' . $type . ' | ' . $this->description . ' |
';
+ return '| ' . $this->key->value . ' | ' . $type . ' | ' . MarkdownExtra::defaultTransform($this->description) . ' |
';
}
$return = '';
diff --git a/src/PHPDraft/Model/Elements/ObjectStructureElement.php b/src/PHPDraft/Model/Elements/ObjectStructureElement.php
index cc9d9095..6e720349 100644
--- a/src/PHPDraft/Model/Elements/ObjectStructureElement.php
+++ b/src/PHPDraft/Model/Elements/ObjectStructureElement.php
@@ -12,6 +12,8 @@
namespace PHPDraft\Model\Elements;
+use Michelf\MarkdownExtra;
+
/**
* Class ObjectStructureElement.
*/
@@ -20,7 +22,7 @@ class ObjectStructureElement extends BasicStructureElement
/**
* Object representation before parsing
- * @var \stdClass
+ * @var \stdClass|null
*/
private $object;
@@ -212,7 +214,7 @@ protected function construct_string_return(string $value): string
'' . '' . $this->key->value . '' . $variable . ' | ' .
'' . $type . ' | ' .
' ' . $this->status . ' | ' .
- '' . $this->description . ' | ' .
+ '' . MarkdownExtra::defaultTransform($this->description) . ' | ' .
'' . $value . ' | ' .
'';
}
diff --git a/src/PHPDraft/Model/Elements/Tests/EnumStructureElementTest.php b/src/PHPDraft/Model/Elements/Tests/EnumStructureElementTest.php
index 48e43936..d1704498 100644
--- a/src/PHPDraft/Model/Elements/Tests/EnumStructureElementTest.php
+++ b/src/PHPDraft/Model/Elements/Tests/EnumStructureElementTest.php
@@ -77,7 +77,7 @@ public function testToStringWithString(): void
$this->class->key->value = 'key';
$this->class->element = 'string';
$return = $this->class->__toString();
- $this->assertSame('| key | string | |
', $return);
+ $this->assertSame('| key | string | ' . PHP_EOL . ' |
', $return);
}
/**
@@ -91,7 +91,7 @@ public function testToStringWithStringComplex(): void
$this->class->key->value = 'key';
$this->class->element = 'Car';
$return = $this->class->__toString();
- $this->assertSame('| key | Car | |
', $return);
+ $this->assertSame('| key | Car | ' . PHP_EOL . ' |
', $return);
}
/**
diff --git a/src/PHPDraft/Model/Elements/Tests/ObjectStructureElementTest.php b/src/PHPDraft/Model/Elements/Tests/ObjectStructureElementTest.php
index bfaa2445..d7b62531 100644
--- a/src/PHPDraft/Model/Elements/Tests/ObjectStructureElementTest.php
+++ b/src/PHPDraft/Model/Elements/Tests/ObjectStructureElementTest.php
@@ -360,7 +360,7 @@ public function testToStringArray(): void
$val->value = 'stuff';
$this->class->value = [$val];
$return = $this->class->__toString();
- $this->assertSame('', $return);
+ $this->assertSame('', $return);
}
/**
@@ -374,7 +374,7 @@ public function testToStringNullValue(): void
$this->class->key->value = 'hello';
$this->class->type = 'mixed';
$return = $this->class->__toString();
- $this->assertSame('| hello | mixed | | | |
', $return);
+ $this->assertSame('| hello | mixed | | ' . PHP_EOL . ' | |
', $return);
}
/**
@@ -389,7 +389,7 @@ public function testToStringObjectValue(): void
$this->class->value = new ObjectStructureElement();
$this->class->type = 'object';
$return = $this->class->__toString();
- $this->assertSame('| hello | object | | | { } |
', $return);
+ $this->assertSame('| hello | object | | ' . PHP_EOL . ' | { } |
', $return);
}
/**
@@ -406,7 +406,7 @@ public function testToStringArrayValue(): void
$this->class->value->value = 'value';
$this->class->type = 'array';
$return = $this->class->__toString();
- $this->assertSame('| hello | array | | | |
', $return);
+ $this->assertSame('| hello | array | | ' . PHP_EOL . ' | |
', $return);
}
/**
@@ -426,7 +426,7 @@ public function testToStringEnumValue(): void
$this->class->value->key->value = 'key';
$this->class->value->type = 'enum';
$return = $this->class->__toString();
- $this->assertSame('', $return);
+ $this->assertSame('', $return);
}
/**
@@ -441,7 +441,7 @@ public function testToStringBoolValue(): void
$this->class->value = true;
$this->class->type = 'boolean';
$return = $this->class->__toString();
- $this->assertSame('| hello | boolean | | | true |
', $return);
+ $this->assertSame('| hello | boolean | | ' . PHP_EOL . ' | true |
', $return);
}
/**
@@ -456,7 +456,7 @@ public function testToStringOtherValue(): void
$this->class->value = 'world';
$this->class->type = 'Cow';
$return = $this->class->__toString();
- $this->assertSame('| hello | Cow | | | world |
', $return);
+ $this->assertSame('| hello | Cow | | ' . PHP_EOL . ' | world |
', $return);
}
/**
@@ -471,6 +471,6 @@ public function testToStringOtherValueTypeKnown(): void
$this->class->key->value = 'hello';
$this->class->value = 'world';
$return = $this->class->__toString();
- $this->assertSame('| hello | string | | | world |
', $return);
+ $this->assertSame('| hello | string | | ' . PHP_EOL . ' | world |
', $return);
}
}
diff --git a/src/PHPDraft/Out/HTML/default/main.css b/src/PHPDraft/Out/HTML/default/main.css
index 9184e904..f9f9975c 100644
--- a/src/PHPDraft/Out/HTML/default/main.css
+++ b/src/PHPDraft/Out/HTML/default/main.css
@@ -225,4 +225,24 @@ span.HEAD {
}
span.PATCH {
color: var(--patch-color);
+}
+
+h1.media-heading {
+ max-width: 80%;
+ word-break: break-word;
+}
+
+.host-information {
+ position: absolute;
+ top: 0;
+ right: 0;
+}
+
+.host-information label.host-dropdown {
+}
+
+.host-information label.host-dropdown select {
+ border: 0 none rgba(0,0,0,0);
+ display: inherit;
+ width: auto;
}
\ No newline at end of file
diff --git a/src/PHPDraft/Out/HTML/default/main.twig b/src/PHPDraft/Out/HTML/default/main.twig
index b3399765..fb0ea402 100644
--- a/src/PHPDraft/Out/HTML/default/main.twig
+++ b/src/PHPDraft/Out/HTML/default/main.twig
@@ -4,8 +4,8 @@
{{ data.TITLE }}
-
-
+
+
{% for style in css %}
{% endfor %}
@@ -15,9 +15,10 @@