UNPKG

odatafy-parser

Version:

generate odatafy ast from odata query parameters

49 lines (48 loc) 1.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const assert_1 = __importDefault(require("assert")); const searchExpressionPreProc_1 = require("../../src/processing/searchExpressionPreProc"); describe('expressionPreProcessingSearch tests', () => { describe('reverseExprLogic()', () => { [{ input: "blau AND rot AND gruen", expected: "gruen AND rot AND blau" }, { input: "blau OR rot OR gruen", expected: "gruen OR rot OR blau" }, { input: "blau AND rot OR gruen", expected: "gruen OR rot AND blau" }, { input: "'Fynn' AND 'Steffen' OR 'Robin'", expected: "'Robin' OR 'Steffen' AND 'Fynn'" }, { input: "('Fynn' AND 'Steffen') OR 'Robin'", expected: "'Robin' OR ('Steffen' AND 'Fynn')" }, { input: "'Fynn' AND ('Steffen' OR 'Robin')", expected: "('Robin' OR 'Steffen') AND 'Fynn'" }, { input: "'Fynn' AND ('Steffen' OR 'Robin' AND D eq 'Maik')", expected: "(D eq 'Maik' AND 'Robin' OR 'Steffen') AND 'Fynn'" }, { input: "'Fynn' AND NOT ('Steffen' OR 'Robin' AND D eq 'Maik')", expected: "NOT (D eq 'Maik' AND 'Robin' OR 'Steffen') AND 'Fynn'" } ].forEach(testcase => { it(`should return ${testcase.expected} for expression ${testcase.input}`, () => { assert_1.default.equal((0, searchExpressionPreProc_1.reverseExprLogic)(testcase.input), testcase.expected); }); }); }); });