@@ -86,16 +86,15 @@ describe('Plugins - Terminal', () => {
8686 } )
8787
8888 describe ( 'schema' , ( ) => {
89+ vi . mock ( 'uqr' )
8990 test ( 'custom schema' , async ( ) => {
9091 vi . stubEnv ( 'NODE_ENV' , 'development' )
9192 const { selectKey, isCancel } = await import ( '@clack/prompts' )
9293 vi . mocked ( selectKey ) . mockResolvedValue ( 'foo' )
9394 vi . mocked ( isCancel ) . mockReturnValueOnce ( false )
9495
95- const { default : { generate } } = await import ( 'qrcode-terminal' )
96- vi . mocked ( generate ) . mockImplementationOnce ( ( _ , __ , callback ) => {
97- callback ?.( '' )
98- } )
96+ const { renderUnicodeCompact } = await import ( 'uqr' )
97+ vi . mocked ( renderUnicodeCompact ) . mockReturnValueOnce ( '<data>' )
9998 const rsbuild = await createRsbuild (
10099 {
101100 rsbuildConfig : {
@@ -133,21 +132,24 @@ describe('Plugins - Terminal', () => {
133132
134133 await server . waitDevCompileDone ( )
135134
136- expect ( generate ) . toBeCalledTimes ( 1 )
135+ expect ( renderUnicodeCompact ) . toBeCalledTimes ( 1 )
137136
138- expect ( generate ) . toBeCalledWith (
137+ expect ( renderUnicodeCompact ) . toBeCalledWith (
139138 `--http://example.com/foo/main.lynx.bundle--` ,
140- {
141- small : true ,
142- } ,
143- expect . any ( Function ) ,
144139 )
145140 } )
146141
147142 test ( 'custom schema object' , async ( ) => {
148143 vi . stubEnv ( 'NODE_ENV' , 'development' )
149144 const { select, selectKey, isCancel } = await import ( '@clack/prompts' )
150- vi . mocked ( selectKey ) . mockResolvedValue ( 'a' )
145+ let i = 1
146+ vi . mocked ( selectKey ) . mockImplementation ( ( ) => {
147+ if ( i === 1 ) {
148+ i ++
149+ return Promise . resolve ( 'a' )
150+ }
151+ return Promise . resolve ( 'q' )
152+ } )
151153 vi . mocked ( isCancel ) . mockReturnValue ( false )
152154
153155 let resolve : ( v : string ) => void
@@ -156,10 +158,8 @@ describe('Plugins - Terminal', () => {
156158 } )
157159 vi . mocked ( select ) . mockReturnValue ( promise )
158160
159- const { default : { generate } } = await import ( 'qrcode-terminal' )
160- vi . mocked ( generate ) . mockImplementationOnce ( ( _ , __ , callback ) => {
161- callback ?.( '' )
162- } )
161+ const { renderUnicodeCompact } = await import ( 'uqr' )
162+ vi . mocked ( renderUnicodeCompact ) . mockReturnValueOnce ( '<data>' )
163163 const rsbuild = await createRsbuild (
164164 {
165165 rsbuildConfig : {
@@ -200,32 +200,31 @@ describe('Plugins - Terminal', () => {
200200
201201 await server . waitDevCompileDone ( )
202202
203- expect ( generate ) . toBeCalledTimes ( 1 )
204- expect ( generate ) . toBeCalledWith (
203+ expect ( renderUnicodeCompact ) . toBeCalledTimes ( 1 )
204+ expect ( renderUnicodeCompact ) . toBeCalledWith (
205205 `==http://example.com/foo/main.lynx.bundle==` ,
206- {
207- small : true ,
208- } ,
209- expect . any ( Function ) ,
210206 )
211207
212208 // @ts -expect-error xxx
213209 resolve ( 'bar' )
214210
215- await expect . poll ( ( ) => generate ) . toBeCalledTimes ( 2 )
216- expect ( generate ) . toBeCalledWith (
211+ await expect . poll ( ( ) => renderUnicodeCompact ) . toBeCalledTimes ( 2 )
212+ expect ( renderUnicodeCompact ) . toBeCalledWith (
217213 `$$http://example.com/foo/main.lynx.bundle$$` ,
218- {
219- small : true ,
220- } ,
221- expect . any ( Function ) ,
222214 )
223215 } )
224216
225217 test ( 'select between entries' , async ( ) => {
226218 vi . stubEnv ( 'NODE_ENV' , 'development' )
227219 const { select, selectKey, isCancel } = await import ( '@clack/prompts' )
228- vi . mocked ( selectKey ) . mockResolvedValue ( 'r' )
220+ let i = 1
221+ vi . mocked ( selectKey ) . mockImplementation ( ( ) => {
222+ if ( i === 1 ) {
223+ i ++
224+ return Promise . resolve ( 'r' )
225+ }
226+ return Promise . resolve ( 'q' )
227+ } )
229228 vi . mocked ( isCancel ) . mockReturnValue ( false )
230229
231230 let resolve : ( v : string ) => void
@@ -234,10 +233,8 @@ describe('Plugins - Terminal', () => {
234233 } )
235234 vi . mocked ( select ) . mockReturnValue ( promise )
236235
237- const { default : { generate } } = await import ( 'qrcode-terminal' )
238- vi . mocked ( generate ) . mockImplementationOnce ( ( _ , __ , callback ) => {
239- callback ?.( '' )
240- } )
236+ const { renderUnicodeCompact } = await import ( 'uqr' )
237+ vi . mocked ( renderUnicodeCompact ) . mockReturnValueOnce ( '<data>' )
241238 const rsbuild = await createRsbuild (
242239 {
243240 rsbuildConfig : {
@@ -280,32 +277,28 @@ describe('Plugins - Terminal', () => {
280277
281278 await server . waitDevCompileDone ( )
282279
283- expect ( generate ) . toBeCalledTimes ( 1 )
284- expect ( generate ) . toBeCalledWith (
280+ expect ( renderUnicodeCompact ) . toBeCalledTimes ( 1 )
281+ expect ( renderUnicodeCompact ) . toBeCalledWith (
285282 `==http://example.com/foo/main.lynx.bundle==` ,
286- {
287- small : true ,
288- } ,
289- expect . any ( Function ) ,
290283 )
291284
292285 // @ts -expect-error xxx
293286 resolve ( 'main2' )
294287
295- await expect . poll ( ( ) => generate ) . toBeCalledTimes ( 2 )
296- expect ( generate ) . toBeCalledWith (
288+ await expect . poll ( ( ) => renderUnicodeCompact ) . toBeCalledTimes ( 2 )
289+ expect ( renderUnicodeCompact ) . toBeCalledWith (
297290 `==http://example.com/foo/main2.lynx.bundle==` ,
298- {
299- small : true ,
300- } ,
301- expect . any ( Function ) ,
302291 )
303292 } )
304293 } )
305294
306295 describe ( 'QRCode' , ( ) => {
307- vi . mock ( 'qrcode-terminal ' )
296+ vi . mock ( 'uqr ' )
308297 test ( 'not print qrcode when build' , async ( ) => {
298+ const { renderUnicodeCompact } = await import ( 'uqr' )
299+
300+ vi . mocked ( renderUnicodeCompact ) . mockClear ( )
301+
309302 const rsbuild = await createRsbuild (
310303 {
311304 rsbuildConfig : {
@@ -326,20 +319,17 @@ describe('Plugins - Terminal', () => {
326319 } ,
327320 )
328321 await rsbuild . build ( )
329- const QRCode = await import ( 'qrcode-terminal' )
330322
331- expect ( QRCode . default . generate ) . not . toBeCalled ( )
323+ expect ( renderUnicodeCompact ) . not . toBeCalled ( )
332324 } )
333325
334326 test ( 'print qrcode when dev' , async ( ) => {
335327 vi . stubEnv ( 'NODE_ENV' , 'development' )
336328 const { selectKey, isCancel } = await import ( '@clack/prompts' )
337329 vi . mocked ( selectKey ) . mockResolvedValue ( 'foo' )
338330 vi . mocked ( isCancel ) . mockReturnValueOnce ( false )
339- const { default : { generate } } = await import ( 'qrcode-terminal' )
340- vi . mocked ( generate ) . mockImplementationOnce ( ( _ , __ , callback ) => {
341- callback ?.( '' )
342- } )
331+ const { renderUnicodeCompact } = await import ( 'uqr' )
332+ vi . mocked ( renderUnicodeCompact ) . mockReturnValueOnce ( '<data>' )
343333 const rsbuild = await createRsbuild (
344334 {
345335 rsbuildConfig : {
@@ -373,13 +363,13 @@ describe('Plugins - Terminal', () => {
373363
374364 await server . waitDevCompileDone ( )
375365
376- expect ( generate ) . toBeCalledTimes ( 1 )
366+ expect ( renderUnicodeCompact ) . toBeCalledTimes ( 1 )
377367 } )
378368
379369 test ( 'print qrcode when dev with host specified' , async ( ) => {
380370 vi . stubEnv ( 'NODE_ENV' , 'development' )
381371 vi . mock ( 'qrcode' , ( ) => ( {
382- generate : vi . fn ( ) ,
372+ renderUnicodeCompact : vi . fn ( ) ,
383373 } ) )
384374 const { selectKey, isCancel } = await import ( '@clack/prompts' )
385375 vi . mocked ( selectKey ) . mockResolvedValue ( 'foo' )
@@ -413,22 +403,16 @@ describe('Plugins - Terminal', () => {
413403 } ,
414404 )
415405
416- const { default : { generate } } = await import ( 'qrcode-terminal' )
417- vi . mocked ( generate ) . mockImplementationOnce ( ( _ , __ , callback ) => {
418- callback ?.( '' )
419- } )
406+ const { renderUnicodeCompact } = await import ( 'uqr' )
407+ vi . mocked ( renderUnicodeCompact ) . mockReturnValueOnce ( '<data>' )
420408
421409 await using server = await usingDevServer ( rsbuild )
422410
423411 await server . waitDevCompileDone ( )
424412
425- expect ( generate ) . toBeCalledTimes ( 1 )
426- expect ( generate ) . toBeCalledWith (
413+ expect ( renderUnicodeCompact ) . toBeCalledTimes ( 1 )
414+ expect ( renderUnicodeCompact ) . toBeCalledWith (
427415 expect . stringContaining ( 'example.com/foo' ) ,
428- {
429- small : true ,
430- } ,
431- expect . anything ( ) ,
432416 )
433417 } )
434418 } )
0 commit comments