tests: Add test with multiple negate groups

Validate that a filter with multiple negate groups works as expected.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
This commit is contained in:
Jarno Rajahalme 2023-05-12 09:40:27 +03:00
parent 4067d88573
commit d2834fd15d
No known key found for this signature in database
GPG key ID: 263F7D984804D3FE

View file

@ -117,6 +117,26 @@ describe('matching tests', () => {
expect(pyMatch.backend).toEqual(pyFiles)
})
test('matches all except tests or docs and tsx or less files (multiple negate groups)', () => {
const yaml = `
backend:
- '!(test|docs)/**/!(*.tsx|*.less)'
`
const filter = new Filter(yaml)
const tsxFiles = modified(['src/ui.tsx'])
const lessFiles = modified(['src/ui.less'])
const pyFiles = modified(['src/server.py', 'test/test.py', 'test/test.less', 'docs/readme.txt', 'src/server.tsx', 'src/client.py'])
const srcFiles = modified(['src/server.py', 'src/client.py'])
const tsxMatch = filter.match(tsxFiles)
const lessMatch = filter.match(lessFiles)
const pyMatch = filter.match(pyFiles)
expect(tsxMatch.backend).toEqual([])
expect(lessMatch.backend).toEqual([])
expect(pyMatch.backend).toEqual(srcFiles)
})
test('matches path based on rules included using YAML anchor', () => {
const yaml = `
shared: &shared