From 50545d9142b542963fcc11729b1d74ec8f0eb6ec Mon Sep 17 00:00:00 2001 From: chris-zhu <1633711653@qq.com> Date: Wed, 17 Aug 2022 11:40:54 +0800 Subject: [PATCH 1/2] fix --- packages/core/src/utils/variantGroup.ts | 2 +- test/variant-group.test.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/utils/variantGroup.ts b/packages/core/src/utils/variantGroup.ts index c36a0430b9..21379ad2be 100644 --- a/packages/core/src/utils/variantGroup.ts +++ b/packages/core/src/utils/variantGroup.ts @@ -1,6 +1,6 @@ import type MagicString from 'magic-string' -export const regexClassGroup = /((?:[!\w+:_/-]|\[&?>?:.+?\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])*?)\)/gm +export const regexClassGroup = /((?:[!\w+:_/-]|\[&?>?:?.+?\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])*?)\)/gm export function expandVariantGroup(str: string, seperators?: ('-' | ':')[]): string export function expandVariantGroup(str: MagicString, seperators?: ('-' | ':')[]): MagicString diff --git a/test/variant-group.test.ts b/test/variant-group.test.ts index 0644b81e63..ee0967d15a 100644 --- a/test/variant-group.test.ts +++ b/test/variant-group.test.ts @@ -32,4 +32,8 @@ describe('variant-group', () => { test('square bracket', async () => { expect(expandVariantGroup('b:[&:not(c)]:d:(!a z)')).toEqual('!b:[&:not(c)]:d:a b:[&:not(c)]:d:z') }) + + test('square bracket case', async () => { + expect(expandVariantGroup('[&]:(a-b c-d)"')).toMatchInlineSnapshot('"[&]:a-b [&]:c-d\\""') + }) }) From 5d2955a8a6d7e01a0e7ee8eeb4c4fd11cb1c4c8a Mon Sep 17 00:00:00 2001 From: chris-zhu <1633711653@qq.com> Date: Wed, 17 Aug 2022 12:26:00 +0800 Subject: [PATCH 2/2] chore: upadte --- packages/core/src/utils/variantGroup.ts | 2 +- test/variant-group.test.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/src/utils/variantGroup.ts b/packages/core/src/utils/variantGroup.ts index 21379ad2be..edb8ec7a9f 100644 --- a/packages/core/src/utils/variantGroup.ts +++ b/packages/core/src/utils/variantGroup.ts @@ -1,6 +1,6 @@ import type MagicString from 'magic-string' -export const regexClassGroup = /((?:[!\w+:_/-]|\[&?>?:?.+?\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])*?)\)/gm +export const regexClassGroup = /((?:[!\w+:_/-]|\[&?>?:?.*\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])*?)\)/gm export function expandVariantGroup(str: string, seperators?: ('-' | ':')[]): string export function expandVariantGroup(str: MagicString, seperators?: ('-' | ':')[]): MagicString diff --git a/test/variant-group.test.ts b/test/variant-group.test.ts index ee0967d15a..33c5c603a4 100644 --- a/test/variant-group.test.ts +++ b/test/variant-group.test.ts @@ -33,7 +33,7 @@ describe('variant-group', () => { expect(expandVariantGroup('b:[&:not(c)]:d:(!a z)')).toEqual('!b:[&:not(c)]:d:a b:[&:not(c)]:d:z') }) - test('square bracket case', async () => { - expect(expandVariantGroup('[&]:(a-b c-d)"')).toMatchInlineSnapshot('"[&]:a-b [&]:c-d\\""') + test('square bracket case2', async () => { + expect(expandVariantGroup('[&]:(a-b c-d)')).toEqual('[&]:a-b [&]:c-d') }) })