Explorar o código

Merge branch 'SamuelToh-11780_wrong_repexp_in_series'

Torkel Ödegaard %!s(int64=6) %!d(string=hai) anos
pai
achega
747aa82272
Modificáronse 2 ficheiros con 20 adicións e 0 borrados
  1. 15 0
      public/app/core/specs/kbn.test.ts
  2. 5 0
      public/app/core/utils/kbn.ts

+ 15 - 0
public/app/core/specs/kbn.test.ts

@@ -0,0 +1,15 @@
+import kbn from '../utils/kbn';
+
+describe('stringToJsRegex', () => {
+  it('should parse the valid regex value', () => {
+    const output = kbn.stringToJsRegex('/validRegexp/');
+    expect(output).toBeInstanceOf(RegExp);
+  });
+
+  it('should throw error on invalid regex value', () => {
+    const input = '/etc/hostname';
+    expect(() => {
+      kbn.stringToJsRegex(input);
+    }).toThrow();
+  });
+});

+ 5 - 0
public/app/core/utils/kbn.ts

@@ -234,6 +234,11 @@ kbn.stringToJsRegex = str => {
   }
 
   const match = str.match(new RegExp('^/(.*?)/(g?i?m?y?)$'));
+
+  if (!match) {
+    throw new Error(`'${str}' is not a valid regular expression.`);
+  }
+
   return new RegExp(match[1], match[2]);
 };