Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/PHPUnit/Integration/DocumentationGeneratorTest.php')
-rw-r--r--tests/PHPUnit/Integration/DocumentationGeneratorTest.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/PHPUnit/Integration/DocumentationGeneratorTest.php b/tests/PHPUnit/Integration/DocumentationGeneratorTest.php
new file mode 100644
index 0000000000..253844cd18
--- /dev/null
+++ b/tests/PHPUnit/Integration/DocumentationGeneratorTest.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Integration;
+
+use PHPUnit_Framework_TestCase;
+use Piwik\API\DocumentationGenerator;
+use Piwik\API\Proxy;
+use Piwik\EventDispatcher;
+
+/**
+ * @group Core
+ */
+class DocumentationGeneratorTest extends PHPUnit_Framework_TestCase
+{
+ public function test_CheckIfModule_ContainsHideAnnotation()
+ {
+ $annotation = '@hideExceptForSuperUser test test';
+ $mock = $this->getMockBuilder('ReflectionClass')
+ ->disableOriginalConstructor()
+ ->setMethods(array('getDocComment'))
+ ->getMock();
+ $mock->expects($this->once())->method('getDocComment')->willReturn($annotation);
+ $documentationGenerator = new DocumentationGenerator();
+ $this->assertTrue($documentationGenerator->checkIfClassCommentContainsHideAnnotation($mock));
+ }
+
+ public function test_CheckDocumentation()
+ {
+ $moduleToCheck = 'this is documentation which contains @hideExceptForSuperUser';
+ $documentationAfterCheck = 'this is documentation which contains ';
+ $documentationGenerator = new DocumentationGenerator();
+ $this->assertEquals($documentationGenerator->checkDocumentation($moduleToCheck), $documentationAfterCheck);
+ }
+
+ public function test_CheckIfMethodComment_ContainsHideAnnotation_andText()
+ {
+ $annotation = '@hideForAll test test';
+ EventDispatcher::getInstance()->addObserver('API.DocumentationGenerator.@hideForAll',
+ function (&$hide) {
+ $hide = true;
+ });
+ $this->assertEquals(Proxy::getInstance()->shouldHideAPIMethod($annotation), true);
+ }
+
+ public function test_CheckIfMethodComment_ContainsHideAnnotation_only()
+ {
+ $annotation = '@hideForAll';
+ EventDispatcher::getInstance()->addObserver('API.DocumentationGenerator.@hideForAll',
+ function (&$hide) {
+ $hide = true;
+ });
+ $this->assertEquals(Proxy::getInstance()->shouldHideAPIMethod($annotation), true);
+ }
+
+ public function test_CheckIfMethodComment_DoesNotContainHideAnnotation()
+ {
+ $annotation = '@not found here';
+ EventDispatcher::getInstance()->addObserver('API.DocumentationGenerator.@hello',
+ function (&$hide) {
+ $hide = true;
+ });
+ $this->assertEquals(Proxy::getInstance()->shouldHideAPIMethod($annotation), false);
+ }
+} \ No newline at end of file