getMockedTrackerFiles(); $foundFiles = $trackerFiles->find(); $this->assertCount(1, $foundFiles); $this->assertTrue(isset($foundFiles['CustomJsTracker'])); $this->assertEquals('tracker.min.js', $foundFiles['CustomJsTracker']->getName()); } public function testFindShouldIgnoreMinifiedVersionIfRequested() { $trackerFiles = $this->getMockedTrackerFiles(); $trackerFiles->ignoreMinified(); $foundFiles = $trackerFiles->find(); $this->assertCount(1, $foundFiles); $this->assertTrue(isset($foundFiles['CustomJsTracker'])); $this->assertEquals('tracker.js', $foundFiles['CustomJsTracker']->getName()); } public function testFindEventsCanIgnoreFiles() { $trackerFiles = $this->getMockedTrackerFiles(); $foundFiles = $trackerFiles->find(); $this->assertCount(1, $foundFiles); Piwik::addAction('CustomJsTracker.shouldAddTrackerFile', function (&$shouldAdd, $pluginName) { if ($pluginName === 'CustomJsTracker') { $shouldAdd = false; } }); $foundFiles = $trackerFiles->find(); $this->assertCount(0, $foundFiles); } /** * @return PluginTrackerFiles|MockObject */ private function getMockedTrackerFiles(): MockObject { $mock = self::getMockBuilder(PluginTrackerFiles::class)->onlyMethods(['getDirectoriesToLook']); $trackerFiles = $mock->getMock(); $trackerFiles->method('getDirectoriesToLook')->willReturn([ 'CustomJsTracker' => PIWIK_DOCUMENT_ROOT . '/plugins/CustomJsTracker/tests/resources/', ]); return $trackerFiles; } }