UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

29 lines 4.24 kB
"use strict"; /** * Custom Jest matchers for CLI integration tests. */ Object.defineProperty(exports, "__esModule", { value: true }); function matches(line, pattern) { return typeof pattern === 'string' ? line.includes(pattern) : pattern.test(line); } expect.extend({ toHaveNextLineMatching(received, linePattern, expected) { const lines = received.split('\n'); const idx = lines.findIndex(l => matches(l, linePattern)); if (idx < 0) { return { pass: false, message: () => `Expected output to contain a line matching ${linePattern}, but none was found`, }; } const nextLine = lines[idx + 1] ?? ''; const pass = matches(nextLine, expected); return { pass, message: () => pass ? `Expected line after ${linePattern} not to match ${expected}, but it did:\n ${nextLine}` : `Expected line after ${linePattern} to match ${expected}, but got:\n ${nextLine}`, }; }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2VydGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOztBQWNILFNBQVMsT0FBTyxDQUFDLElBQVksRUFBRSxPQUF3QjtJQUNyRCxPQUFPLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNaLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsV0FBNEIsRUFBRSxRQUF5QjtRQUM5RixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWixPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLO2dCQUNYLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw4Q0FBOEMsV0FBVyxzQkFBc0I7YUFDL0YsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLE9BQU87WUFDTCxJQUFJO1lBQ0osT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7Z0JBQ2pCLENBQUMsQ0FBQyx1QkFBdUIsV0FBVyxpQkFBaUIsUUFBUSxvQkFBb0IsUUFBUSxFQUFFO2dCQUMzRixDQUFDLENBQUMsdUJBQXVCLFdBQVcsYUFBYSxRQUFRLGlCQUFpQixRQUFRLEVBQUU7U0FDdkYsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEN1c3RvbSBKZXN0IG1hdGNoZXJzIGZvciBDTEkgaW50ZWdyYXRpb24gdGVzdHMuXG4gKi9cblxuZGVjbGFyZSBnbG9iYWwge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZVxuICBuYW1lc3BhY2UgamVzdCB7XG4gICAgaW50ZXJmYWNlIE1hdGNoZXJzPFI+IHtcbiAgICAgIC8qKlxuICAgICAgICogQXNzZXJ0IHRoYXQgdGhlIGxpbmUgZm9sbG93aW5nIGEgbWF0Y2hpbmcgbGluZSBtYXRjaGVzIHRoZSBleHBlY3RlZCBwYXR0ZXJuLlxuICAgICAgICovXG4gICAgICB0b0hhdmVOZXh0TGluZU1hdGNoaW5nKGxpbmVQYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHAsIGV4cGVjdGVkOiBzdHJpbmcgfCBSZWdFeHApOiBSO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaGVzKGxpbmU6IHN0cmluZywgcGF0dGVybjogc3RyaW5nIHwgUmVnRXhwKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgcGF0dGVybiA9PT0gJ3N0cmluZycgPyBsaW5lLmluY2x1ZGVzKHBhdHRlcm4pIDogcGF0dGVybi50ZXN0KGxpbmUpO1xufVxuXG5leHBlY3QuZXh0ZW5kKHtcbiAgdG9IYXZlTmV4dExpbmVNYXRjaGluZyhyZWNlaXZlZDogc3RyaW5nLCBsaW5lUGF0dGVybjogc3RyaW5nIHwgUmVnRXhwLCBleHBlY3RlZDogc3RyaW5nIHwgUmVnRXhwKSB7XG4gICAgY29uc3QgbGluZXMgPSByZWNlaXZlZC5zcGxpdCgnXFxuJyk7XG4gICAgY29uc3QgaWR4ID0gbGluZXMuZmluZEluZGV4KGwgPT4gbWF0Y2hlcyhsLCBsaW5lUGF0dGVybikpO1xuXG4gICAgaWYgKGlkeCA8IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiAoKSA9PiBgRXhwZWN0ZWQgb3V0cHV0IHRvIGNvbnRhaW4gYSBsaW5lIG1hdGNoaW5nICR7bGluZVBhdHRlcm59LCBidXQgbm9uZSB3YXMgZm91bmRgLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0TGluZSA9IGxpbmVzW2lkeCArIDFdID8/ICcnO1xuICAgIGNvbnN0IHBhc3MgPSBtYXRjaGVzKG5leHRMaW5lLCBleHBlY3RlZCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFzcyxcbiAgICAgIG1lc3NhZ2U6ICgpID0+IHBhc3NcbiAgICAgICAgPyBgRXhwZWN0ZWQgbGluZSBhZnRlciAke2xpbmVQYXR0ZXJufSBub3QgdG8gbWF0Y2ggJHtleHBlY3RlZH0sIGJ1dCBpdCBkaWQ6XFxuICAke25leHRMaW5lfWBcbiAgICAgICAgOiBgRXhwZWN0ZWQgbGluZSBhZnRlciAke2xpbmVQYXR0ZXJufSB0byBtYXRjaCAke2V4cGVjdGVkfSwgYnV0IGdvdDpcXG4gICR7bmV4dExpbmV9YCxcbiAgICB9O1xuICB9LFxufSk7XG4iXX0=