source: trip-planner-front/node_modules/safe-regex/test/regex.js@ 8d391a1

Last change on this file since 8d391a1 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 963 bytes
Line 
1var safe = require('../');
2var test = require('tape');
3
4var good = [
5 /\bOakland\b/,
6 /\b(Oakland|San Francisco)\b/i,
7 /^\d+1337\d+$/i,
8 /^\d+(1337|404)\d+$/i,
9 /^\d+(1337|404)*\d+$/i,
10 RegExp(Array(26).join('a?') + Array(26).join('a')),
11];
12
13test('safe regex', function (t) {
14 t.plan(good.length);
15 good.forEach(function (re) {
16 t.equal(safe(re), true);
17 });
18});
19
20
21var bad = [
22 /^(a?){25}(a){25}$/,
23 RegExp(Array(27).join('a?') + Array(27).join('a')),
24 /(x+x+)+y/,
25 /foo|(x+x+)+y/,
26 /(a+){10}y/,
27 /(a+){2}y/,
28 /(.*){1,32000}[bc]/
29];
30
31test('unsafe regex', function (t) {
32 t.plan(bad.length);
33 bad.forEach(function (re) {
34 t.equal(safe(re), false);
35 });
36});
37
38var invalid = [
39 '*Oakland*',
40 'hey(yoo))',
41 'abcde(?>hellow)',
42 '[abc'
43];
44
45test('invalid regex', function (t) {
46 t.plan(invalid.length);
47 invalid.forEach(function (re) {
48 t.equal(safe(re), false);
49 });
50});
Note: See TracBrowser for help on using the repository browser.