From 70ecfd3b41e2f36ae69c2ff11ed2ab4d3bfd8756 Mon Sep 17 00:00:00 2001 From: Rui Jin Date: Tue, 20 Aug 2024 18:03:15 +0800 Subject: [PATCH] add test --- __tests__/filter.test.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/__tests__/filter.test.ts b/__tests__/filter.test.ts index 7d7da947..b44db97b 100644 --- a/__tests__/filter.test.ts +++ b/__tests__/filter.test.ts @@ -210,6 +210,37 @@ describe('matching specific change status', () => { const match = filter.match(files) expect(match.src).toEqual(files) }) + + test('use of OR operation', () => { + const yaml = ` + backend: + - 'src/*.tsx|src/*.less' + ` + const filter = new Filter(yaml) + const tsxFiles = modified(['src/ui.tsx']) + const lessFiles = modified(['src/ui.less']) + const pyFiles = modified(['src/server.py']) + + const tsxMatch = filter.match(tsxFiles) + const lessMatch = filter.match(lessFiles) + const pyMatch = filter.match(pyFiles) + + expect(tsxMatch.backend).toEqual(tsxFiles) + expect(lessMatch.backend).toEqual(lessFiles) + expect(pyMatch.backend).toEqual([]) + }) + + test('matches non change of dir)', () => { + const yaml = ` + backend: + - '!docs/**' + ` + const filter = new Filter(yaml) + + const nonDocsFiles = modified(['src/ui.tsx']) + const nonDocsMatch = filter.match(nonDocsFiles) + expect(nonDocsMatch.backend).toEqual(nonDocsFiles) + }) }) function modified(paths: string[]): File[] {