1+ let nanocolors = require ( 'nanocolors' )
12let stripAnsi = require ( 'strip-ansi' )
23let Concat = require ( 'concat-with-sourcemaps' )
3- let chalk = require ( 'chalk' )
44let path = require ( 'path' )
55
66let CssSyntaxError = require ( '../lib/css-syntax-error' )
@@ -39,65 +39,77 @@ it('saves source', () => {
3939} )
4040
4141it ( 'has stack trace' , ( ) => {
42- expect ( parseError ( 'a {\n content: "\n}' ) . stack )
43- . toMatch ( / c s s - s y n t a x - e r r o r \. t e s t \. j s / )
42+ expect ( parseError ( 'a {\n content: "\n}' ) . stack ) . toMatch (
43+ / c s s - s y n t a x - e r r o r \. t e s t \. j s /
44+ )
4445} )
4546
4647it ( 'highlights broken line with colors' , ( ) => {
47- let c = chalk
48+ let c = nanocolors
4849 expect ( parseError ( '#a .b {' ) . showSourceCode ( true ) ) . toEqual (
49- c . red . bold ( '>' ) + c . gray ( ' 1 | ' ) +
50- c . magenta ( '#a' ) + ' ' + c . yellow ( '.b' ) + ' ' +
51- c . yellow ( '{' ) + '\n ' +
52- c . gray ( ' | ' ) + c . red . bold ( '^' ) )
50+ c . red ( c . bold ( '>' ) ) +
51+ c . gray ( ' 1 | ' ) +
52+ c . magenta ( '#a' ) +
53+ ' ' +
54+ c . yellow ( '.b' ) +
55+ ' ' +
56+ c . yellow ( '{' ) +
57+ '\n ' +
58+ c . gray ( ' | ' ) +
59+ c . red ( c . bold ( '^' ) )
60+ )
5361} )
5462
5563it ( 'highlights broken line' , ( ) => {
56- expect ( parseError ( 'a {\n content: "\n}' ) . showSourceCode ( false ) )
57- . toEqual ( ' 1 | a {\n' +
58- '> 2 | content: "\n' +
59- ' | ^\n' +
60- ' 3 | }' )
64+ expect ( parseError ( 'a {\n content: "\n}' ) . showSourceCode ( false ) ) . toEqual (
65+ ' 1 | a {\n' + '> 2 | content: "\n' + ' | ^\n' + ' 3 | }'
66+ )
6167} )
6268
6369it ( 'highlights broken line, when indented with tabs' , ( ) => {
64- expect ( parseError ( 'a {\n\t \t content:\t"\n}' ) . showSourceCode ( false ) )
65- . toEqual ( ' 1 | a {\n' +
66- '> 2 | \t \t content:\t"\n' +
67- ' | \t \t \t^\n' +
68- ' 3 | }' )
70+ expect (
71+ parseError ( 'a {\n\t \t content:\t"\n}' ) . showSourceCode ( false )
72+ ) . toEqual (
73+ ' 1 | a {\n' +
74+ '> 2 | \t \t content:\t"\n' +
75+ ' | \t \t \t^\n' +
76+ ' 3 | }'
77+ )
6978} )
7079
7180it ( 'highlights small code example' , ( ) => {
72- expect ( parseError ( 'a {' ) . showSourceCode ( false ) )
73- . toEqual ( '> 1 | a {\n' +
74- ' | ^' )
81+ expect ( parseError ( 'a {' ) . showSourceCode ( false ) ) . toEqual (
82+ '> 1 | a {\n' + ' | ^'
83+ )
7584} )
7685
7786it ( 'add leading space for line numbers' , ( ) => {
7887 let css = '\n\n\n\n\n\n\na {\n content: "\n}\n\n\n'
79- expect ( parseError ( css ) . showSourceCode ( false ) )
80- . toEqual ( ' 7 | \n' +
81- ' 8 | a {\n' +
82- '> 9 | content: "\n' +
83- ' | ^\n' +
84- ' 10 | }\n' +
85- ' 11 | ' )
88+ expect ( parseError ( css ) . showSourceCode ( false ) ) . toEqual (
89+ ' 7 | \n' +
90+ ' 8 | a {\n' +
91+ '> 9 | content: "\n' +
92+ ' | ^\n' +
93+ ' 10 | }\n' +
94+ ' 11 | '
95+ )
8696} )
8797
8898it ( 'prints with highlight' , ( ) => {
89- expect ( stripAnsi ( parseError ( 'a {' ) . toString ( ) ) )
90- . toEqual ( 'CssSyntaxError: <css input>:1:1: Unclosed block\n' +
91- '\n' +
92- '> 1 | a {\n' +
93- ' | ^\n' )
99+ expect ( stripAnsi ( parseError ( 'a {' ) . toString ( ) ) ) . toEqual (
100+ 'CssSyntaxError: <css input>:1:1: Unclosed block\n' +
101+ '\n' +
102+ '> 1 | a {\n' +
103+ ' | ^\n'
104+ )
94105} )
95106
96107it ( 'misses highlights without source content' , ( ) => {
97108 let error = parseError ( 'a {' )
98109 error . source = null
99- expect ( error . toString ( ) )
100- . toEqual ( 'CssSyntaxError: <css input>:1:1: Unclosed block' )
110+ expect ( error . toString ( ) ) . toEqual (
111+ 'CssSyntaxError: <css input>:1:1: Unclosed block'
112+ )
101113} )
102114
103115it ( 'misses position without source' , ( ) => {
@@ -160,8 +172,9 @@ it('does not uses wrong source map', () => {
160172it ( 'set source plugin' , ( ) => {
161173 let error = postcss . parse ( 'a{}' ) . first . error ( 'Error' , { plugin : 'PL' } )
162174 expect ( error . plugin ) . toEqual ( 'PL' )
163- expect ( error . toString ( ) )
164- . toMatch ( / ^ C s s S y n t a x E r r o r : P L : < c s s i n p u t > : 1 : 1 : E r r o r / )
175+ expect ( error . toString ( ) ) . toMatch (
176+ / ^ C s s S y n t a x E r r o r : P L : < c s s i n p u t > : 1 : 1 : E r r o r /
177+ )
165178} )
166179
167180it ( 'set source plugin automatically' , ( ) => {
@@ -171,11 +184,13 @@ it('set source plugin automatically', () => {
171184 }
172185 } )
173186
174- return postcss ( [ plugin ] ) . process ( 'a{}' ) . catch ( error => {
175- if ( error . name !== 'CssSyntaxError' ) throw error
176- expect ( error . plugin ) . toEqual ( 'test-plugin' )
177- expect ( error . toString ( ) ) . toMatch ( / t e s t - p l u g i n / )
178- } )
187+ return postcss ( [ plugin ] )
188+ . process ( 'a{}' )
189+ . catch ( error => {
190+ if ( error . name !== 'CssSyntaxError' ) throw error
191+ expect ( error . plugin ) . toEqual ( 'test-plugin' )
192+ expect ( error . toString ( ) ) . toMatch ( / t e s t - p l u g i n / )
193+ } )
179194} )
180195
181196it ( 'set plugin automatically in async' , ( ) => {
@@ -187,8 +202,10 @@ it('set plugin automatically in async', () => {
187202 }
188203 } )
189204
190- return postcss ( [ plugin ] ) . process ( 'a{}' ) . catch ( error => {
191- if ( error . name !== 'CssSyntaxError' ) throw error
192- expect ( error . plugin ) . toEqual ( 'async-plugin' )
193- } )
205+ return postcss ( [ plugin ] )
206+ . process ( 'a{}' )
207+ . catch ( error => {
208+ if ( error . name !== 'CssSyntaxError' ) throw error
209+ expect ( error . plugin ) . toEqual ( 'async-plugin' )
210+ } )
194211} )
0 commit comments