UNPKG

1.96 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6var assert_1 = __importDefault(require("assert"));
7var CucumberExpression_1 = __importDefault(require("../src/CucumberExpression"));
8var ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry"));
9describe('CucumberExpression', function () {
10 describe('RegExp translation', function () {
11 it('translates no arguments', function () {
12 assertRegexp('I have 10 cukes in my belly now', /^I have 10 cukes in my belly now$/);
13 });
14 it('translates alternation', function () {
15 assertRegexp('I had/have a great/nice/charming friend', /^I (?:had|have) a (?:great|nice|charming) friend$/);
16 });
17 it('translates alternation with non-alpha', function () {
18 assertRegexp('I said Alpha1/Beta1', /^I said (?:Alpha1|Beta1)$/);
19 });
20 it('translates parameters', function () {
21 assertRegexp("I have {float} cukes at {int} o'clock", /^I have ((?=.*\d.*)[-+]?\d*(?:\.(?=\d.*))?\d*(?:\d+[E][+\-]?\d+)?) cukes at ((?:-?\d+)|(?:\d+)) o'clock$/);
22 });
23 it('translates parenthesis to non-capturing optional capture group', function () {
24 assertRegexp('I have many big(ish) cukes', /^I have many big(?:ish)? cukes$/);
25 });
26 it('translates parenthesis with alpha unicode', function () {
27 assertRegexp('Привет, Мир(ы)!', /^Привет, Мир(?:ы)?!$/);
28 });
29 });
30});
31var assertRegexp = function (expression, expectedRegexp) {
32 var cucumberExpression = new CucumberExpression_1.default(expression, new ParameterTypeRegistry_1.default());
33 assert_1.default.deepStrictEqual(cucumberExpression.regexp, expectedRegexp);
34};
35//# sourceMappingURL=CucumberExpressionRegExpTest.js.map
\No newline at end of file