| /** | 
 |  * @license | 
 |  * Copyright 2020 Google LLC | 
 |  * SPDX-License-Identifier: Apache-2.0 | 
 |  */ | 
 |  | 
 | // The IntelliJ (and probably other IDEs) passes test names as a regexp in | 
 | // the format: | 
 | // --grep=/some regexp.../ | 
 | // But mochajs doesn't expect the '/' characters before and after the regexp. | 
 | // The code below patches input args and removes '/' if they exists. | 
 | function installPatch(karma) { | 
 |   const originalKarmaStart = karma.start; | 
 |  | 
 |   karma.start = function (config, ...args) { | 
 |     const regexpGrepPrefix = "--grep=/"; | 
 |     const regexpGrepSuffix = "/"; | 
 |     if (config && config.args) { | 
 |       for (let i = 0; i < config.args.length; i++) { | 
 |         const arg = config.args[i]; | 
 |         if ( | 
 |           arg.startsWith(regexpGrepPrefix) && | 
 |           arg.endsWith(regexpGrepSuffix) | 
 |         ) { | 
 |           const regexpText = arg.slice( | 
 |             regexpGrepPrefix.length, | 
 |             -regexpGrepPrefix.length | 
 |           ); | 
 |           config.args[i] = "--grep=" + regexpText; | 
 |         } | 
 |       } | 
 |     } | 
 |     originalKarmaStart.apply(this, [config, ...args]); | 
 |   }; | 
 | } | 
 |  | 
 | const karma = window.__karma__; | 
 | if (karma && karma.start && !karma.__grep_patch_installed__) { | 
 |   karma.__grep_patch_installed__ = true; | 
 |   installPatch(karma); | 
 | } |