@@ -10,6 +10,8 @@ describe('validateMediaQuery', () => {
1010 '(min-width: 30em) and (orientation: landscape)' ,
1111 'only screen and (min-width: 320px) and (max-width: 480px) and (resolution: 150dpi)' ,
1212 'not screen and (color), print and (color)' ,
13+ '(prefers-reduced-motion)' ,
14+ '(prefers-reduced-motion: no-preference)' ,
1315 ] ;
1416
1517 validMediaQueries . forEach ( ( query ) =>
@@ -20,17 +22,59 @@ describe('validateMediaQuery', () => {
2022 } ) ;
2123
2224 describe ( 'invalid media queries' , ( ) => {
23- const invalidMediaQueries = [
24- '' ,
25- 'random query' ,
26- '(min-height: 600px' ,
27- 'min-width: 600px)' ,
28- ] ;
25+ it ( 'empty query' , ( ) => {
26+ expect ( ( ) => validateMediaQuery ( '' ) ) . toThrowErrorMatchingInlineSnapshot ( `
27+ "Invalid media query: \\"\\"
2928
30- invalidMediaQueries . forEach ( ( query ) =>
31- it ( query , ( ) => {
32- expect ( ( ) => validateMediaQuery ( query ) ) . toThrow ( ) ;
33- } ) ,
34- ) ;
29+ Query is empty
30+
31+ Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"
32+ ` ) ;
33+ } ) ;
34+
35+ it ( 'random query' , ( ) => {
36+ expect ( ( ) => validateMediaQuery ( 'random query' ) )
37+ . toThrowErrorMatchingInlineSnapshot ( `
38+ "Invalid media query: \\"random query\\"
39+
40+ Unknown ident 'random' in media query
41+
42+ Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"
43+ ` ) ;
44+ } ) ;
45+
46+ it ( '(min-height: 600px' , ( ) => {
47+ expect ( ( ) => validateMediaQuery ( '(min-height: 600px' ) )
48+ . toThrowErrorMatchingInlineSnapshot ( `
49+ "Invalid media query: \\"(min-height: 600px\\"
50+
51+ Invalid media condition
52+ Expected media condition after '('
53+
54+ Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"
55+ ` ) ;
56+ } ) ;
57+
58+ it ( 'min-width: 600px)' , ( ) => {
59+ expect ( ( ) => validateMediaQuery ( 'min-width: 600px)' ) )
60+ . toThrowErrorMatchingInlineSnapshot ( `
61+ "Invalid media query: \\"min-width: 600px)\\"
62+
63+ Unknown ident 'min-width' in media query
64+
65+ Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"
66+ ` ) ;
67+ } ) ;
68+
69+ it ( 'prefers-reduced-motion: no-preference' , ( ) => {
70+ expect ( ( ) => validateMediaQuery ( 'prefers-reduced-motion: no-preference' ) )
71+ . toThrowErrorMatchingInlineSnapshot ( `
72+ "Invalid media query: \\"prefers-reduced-motion: no-preference\\"
73+
74+ Unknown ident 'prefers-reduced-motion' in media query
75+
76+ Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"
77+ ` ) ;
78+ } ) ;
3579 } ) ;
3680} ) ;
0 commit comments