UNPKG

re2-latin1

Version:

Bindings for RE2: fast, safe alternative to backtracking regular expression engines.

53 lines (41 loc) 883 B
"use strict"; var unit = require("heya-unit"); var RE2 = require("../re2"); // tests unit.add(module, [ function test_inval(t) { "use strict"; var threw; // Backreferences threw = false; try { new RE2(/(a)\1/); } catch (e) { threw = true; eval(t.TEST("e instanceof SyntaxError")); eval(t.TEST("e.message === 'invalid escape sequence: \\\\1'")); } t.test(threw); // Lookahead assertions // Positive threw = false; try { new RE2(/a(?=b)/); } catch (e) { threw = true; eval(t.TEST("e instanceof SyntaxError")); eval(t.TEST("e.message === 'invalid perl operator: (?='")); } t.test(threw); // Negative threw = false; try { new RE2(/a(?!b)/); } catch (e) { threw = true; eval(t.TEST("e instanceof SyntaxError")); eval(t.TEST("e.message === 'invalid perl operator: (?!'")); } t.test(threw); }, ]);