1<?php
2
3/**
4 * @group plugin_piwiktagmanager
5 * @group plugins
6 */
7
8class action_plugin_piwiktagmanagerTest extends \DokuWikiTest
9{
10
11    const pwtmPluginName = 'piwiktagmanager';
12
13    public function setUp(): void
14    {
15        $this->pluginsEnabled[] = self::pwtmPluginName;
16        parent::setUp();
17    }
18
19    public function testPiwikTagManager()
20    {
21        global $conf;
22        $pwtmValue = "Xabcdef";
23        $pwtmHostValue = "piwik.example.com";
24        $conf['plugin'][self::pwtmPluginName]["PWTMID"] = $pwtmValue;
25        $conf['plugin'][self::pwtmPluginName]["PWTMHOST"] = $pwtmHostValue;
26
27        $pageId = 'start';
28        saveWikiText($pageId, "Content", 'Script Test base');
29        idx_addPage($pageId);
30
31        $request = new TestRequest();
32        $response = $request->get(['id' => $pageId, '/doku.php']);
33
34        $domElements = $response->queryHTML("script");
35
36        $patternFound = false;
37        foreach ($domElements as $domElement) {
38            $value = $domElement->textContent;
39            $patternFound = preg_match("/$pwtmHostValue.*$pwtmValue/i", $value) === 1;
40            if ($patternFound) {
41                break;
42            }
43        }
44        $this->assertTrue($patternFound, "The piwik script was not found in the script tags");
45    }
46}
47