xref: /dokuwiki/_test/tests/Remote/OpenApiDoc/DocBlockClassTest.php (revision 8ddd9b69189e5c591f86c9f4314a06ec13778622)
1*8ddd9b69SAndreas Gohr<?php
2*8ddd9b69SAndreas Gohr
3*8ddd9b69SAndreas Gohrnamespace dokuwiki\test\Remote\OpenApiDoc;
4*8ddd9b69SAndreas Gohr
5*8ddd9b69SAndreas Gohruse dokuwiki\Remote\OpenApiDoc\DocBlockClass;
6*8ddd9b69SAndreas Gohruse dokuwiki\Remote\OpenApiDoc\DocBlockMethod;
7*8ddd9b69SAndreas Gohruse dokuwiki\Remote\OpenApiDoc\DocBlockProperty;
8*8ddd9b69SAndreas Gohr
9*8ddd9b69SAndreas Gohr/**
10*8ddd9b69SAndreas Gohr * Test cases for DocBlockClass
11*8ddd9b69SAndreas Gohr *
12*8ddd9b69SAndreas Gohr * This test class is also used in the tests itself
13*8ddd9b69SAndreas Gohr */
14*8ddd9b69SAndreas Gohrclass DocBlockClassTest extends \DokuWikiTest
15*8ddd9b69SAndreas Gohr{
16*8ddd9b69SAndreas Gohr    /** @var string This is a dummy */
17*8ddd9b69SAndreas Gohr    public $dummyProperty1 = 'dummy';
18*8ddd9b69SAndreas Gohr
19*8ddd9b69SAndreas Gohr    /**
20*8ddd9b69SAndreas Gohr     * Parse this test class with the DocBlockClass
21*8ddd9b69SAndreas Gohr     *
22*8ddd9b69SAndreas Gohr     * Also tests property and method access
23*8ddd9b69SAndreas Gohr     *
24*8ddd9b69SAndreas Gohr     * @return void
25*8ddd9b69SAndreas Gohr     */
26*8ddd9b69SAndreas Gohr    public function testClass()
27*8ddd9b69SAndreas Gohr    {
28*8ddd9b69SAndreas Gohr        $reflect = new \ReflectionClass($this);
29*8ddd9b69SAndreas Gohr        $doc = new DocBlockClass($reflect);
30*8ddd9b69SAndreas Gohr
31*8ddd9b69SAndreas Gohr        $this->assertStringContainsString('Test cases for DocBlockClass', $doc->getSummary());
32*8ddd9b69SAndreas Gohr        $this->assertStringContainsString('used in the tests itself', $doc->getDescription());
33*8ddd9b69SAndreas Gohr
34*8ddd9b69SAndreas Gohr        $this->assertInstanceOf(DocBlockProperty::class, $doc->getPropertyDocs()['dummyProperty1']);
35*8ddd9b69SAndreas Gohr        $this->assertEquals('This is a dummy', $doc->getPropertyDocs()['dummyProperty1']->getSummary());
36*8ddd9b69SAndreas Gohr
37*8ddd9b69SAndreas Gohr        $this->assertInstanceOf(DocBlockMethod::class, $doc->getMethodDocs()['testClass']);
38*8ddd9b69SAndreas Gohr    }
39*8ddd9b69SAndreas Gohr
40*8ddd9b69SAndreas Gohr}
41