pluginsEnabled[] = self::gtmPluginName; parent::setUp(); } public function test_google_tag_manager() { global $conf; $gtmValue = "GTM-12345"; $conf['plugin'][self::gtmPluginName][action_plugin_googletagmanager::GTMID] = $gtmValue; $pageId = 'start'; saveWikiText($pageId, "Content", 'Script Test base'); idx_addPage($pageId); $request = new TestRequest(); $response = $request->get(['id' => $pageId, '/doku.php']); /** * Tags to searched */ $tagsSearched = ["script", "noscript"]; foreach ($tagsSearched as $tagSearched) { $domElements = $response->queryHTML($tagSearched); $patternFound = false; foreach ($domElements as $domElement) { $patternFound = false; foreach ($domElements as $domElement) { if ($tagSearched=="script") { $value = $domElement->textContent; } else { // iframe src as subelement of noscript $this->assertEquals("iframe", $domElement->firstChild->nodeName); $value = $domElement->firstChild->getAttribute("src"); } $patternFound = preg_match("!https://www.googletagmanager.com/.*id=.*$gtmValue!s", $value) === 1; if ($patternFound) { break; } } $this->assertTrue($patternFound, "The GTM scripts have not been found for the tag $tagSearched"); } } } public function test_google_tag_manager_awcode() { global $conf; $gtmValue = "AW-12345"; $conf['plugin'][self::gtmPluginName][action_plugin_googletagmanager::GTMID] = $gtmValue; $pageId = 'start'; saveWikiText($pageId, "Content", 'Script Test base'); idx_addPage($pageId); $request = new TestRequest(); $response = $request->get(['id' => $pageId, '/doku.php']); $domElements = $response->queryHTML("script"); $patternFound = false; foreach ($domElements as $domElement) { $value = $domElement->textContent; $patternFound = preg_match("/$gtmValue/", $value) === 1; if ($patternFound) { break; } } $this->assertTrue($patternFound, "The GTM scripts have not been found"); } }