11import { Neovim } from '@chemzqm/neovim'
22import Refactor from '../../handler/refactor'
3- import Search from '../../handler/search'
3+ import Search , { getPathFromArgs } from '../../handler/search'
44import helper from '../helper'
55import path from 'path'
66
@@ -25,17 +25,39 @@ afterEach(async () => {
2525 await helper . reset ( )
2626} )
2727
28+ describe ( 'getPathFromArgs' , ( ) => {
29+ it ( 'should get undefined path' , async ( ) => {
30+ let res = getPathFromArgs ( [ 'a' ] )
31+ expect ( res ) . toBeUndefined ( )
32+ res = getPathFromArgs ( [ 'a' , 'b' , '-c' ] )
33+ expect ( res ) . toBeUndefined ( )
34+ res = getPathFromArgs ( [ 'a' , '-b' , 'c' ] )
35+ expect ( res ) . toBeUndefined ( )
36+ } )
37+ } )
38+
2839describe ( 'search' , ( ) => {
2940
3041 it ( 'should open refactor window' , async ( ) => {
3142 let search = new Search ( nvim , cmd )
3243 let buf = await refactor . createRefactorBuffer ( )
3344 await search . run ( [ ] , cwd , buf )
45+ await helper . wait ( 50 )
3446 let fileItems = buf . fileItems
3547 expect ( fileItems . length ) . toBe ( 2 )
3648 expect ( fileItems [ 0 ] . ranges . length ) . toBe ( 2 )
3749 } )
3850
51+ it ( 'should abort task' , async ( ) => {
52+ let search = new Search ( nvim , cmd )
53+ let buf = await refactor . createRefactorBuffer ( )
54+ let p = search . run ( [ '--sleep' , '1000' ] , cwd , buf )
55+ search . abort ( )
56+ await p
57+ let fileItems = buf . fileItems
58+ expect ( fileItems . length ) . toBe ( 0 )
59+ } )
60+
3961 it ( 'should work with CocAction search' , async ( ) => {
4062 await helper . doAction ( 'search' , [ 'CocAction' ] )
4163 let bufnr = await nvim . call ( 'bufnr' , [ '%' ] )
0 commit comments