File tree 2 files changed +21
-1
lines changed
2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ import {z} from 'zod'
2
2
import { schemaErrorMessage } from '../utilities/schemaErrorMessage'
3
3
4
4
export const referenceValue = z . string ( ) . refine (
5
- ref => / ^ { \w + \. ( \w + \. | @ \. ) * ( \w + | @ ) } $ / . test ( ref ) ,
5
+ ref => / ^ { \w + ( \. \w + ) * ( \. \ w+ | \. @ ) } $ / . test ( ref ) ,
6
6
ref => ( {
7
7
message : schemaErrorMessage (
8
8
`Invalid reference: "${ ref } "` ,
Original file line number Diff line number Diff line change
1
+ import { referenceValue } from './referenceValue'
2
+
3
+ describe ( 'Schema: referenceValue' , ( ) => {
4
+ it ( 'returns success on valid reference' , ( ) => {
5
+ expect ( referenceValue . safeParse ( '{color.token}' ) . success ) . toStrictEqual ( true )
6
+ expect ( referenceValue . safeParse ( '{color.token.900}' ) . success ) . toStrictEqual ( true )
7
+ expect ( referenceValue . safeParse ( '{color.@}' ) . success ) . toStrictEqual ( true )
8
+ } )
9
+
10
+ it ( 'fails on invalid reference' , ( ) => {
11
+ expect ( referenceValue . safeParse ( 'color.token' ) . success ) . toStrictEqual ( false )
12
+ expect ( referenceValue . safeParse ( '{color}' ) . success ) . toStrictEqual ( false )
13
+ expect ( referenceValue . safeParse ( '{[email protected] }' ) . success ) . toStrictEqual ( false )
14
+ expect ( referenceValue . safeParse ( '{}' ) . success ) . toStrictEqual ( false )
15
+ expect ( referenceValue . safeParse ( '' ) . success ) . toStrictEqual ( false )
16
+ expect ( referenceValue . safeParse ( 100 ) . success ) . toStrictEqual ( false )
17
+ expect ( referenceValue . safeParse ( false ) . success ) . toStrictEqual ( false )
18
+ expect ( referenceValue . safeParse ( undefined ) . success ) . toStrictEqual ( false )
19
+ } )
20
+ } )
You can’t perform that action at this time.
0 commit comments