/** * @param array $files * File paths. * @return string */ public function digestJs($files) { $scripts = array(); foreach ($files as $file) { $scripts[] = file_get_contents($file); } $scripts = \CRM_Utils_JS::dedupeClosures($scripts, array('angular', '$', '_'), array('angular', 'CRM.$', 'CRM._')); // This impl of stripComments currently adds 10-20ms and cuts ~7% return \CRM_Utils_JS::stripComments(implode("\n", $scripts)); }
/** * @param string $input * @param string $expectedOutput * @dataProvider stripCommentsExamples */ public function testStripComments($input, $expectedOutput) { $this->assertEquals($expectedOutput, CRM_Utils_JS::stripComments($input)); }