@@ -238,6 +238,7 @@ describe('table > filtering', () => {
238238
239239 it ( 'filter debouncing works' , async ( ) => {
240240 jest . useFakeTimers ( )
241+ let lastFilterTimer = null
241242 const wrapper = mount ( BTable , {
242243 propsData : {
243244 fields : testFields ,
@@ -254,6 +255,7 @@ describe('table > filtering', () => {
254255 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 1 )
255256 expect ( wrapper . emitted ( 'input' ) [ 0 ] [ 0 ] ) . toEqual ( testItems )
256257 expect ( wrapper . vm . $_filterTimer ) . toBe ( null )
258+ lastFilterTimer = wrapper . vm . $_filterTimer
257259
258260 // Set filter to a single character
259261 wrapper . setProps ( {
@@ -262,6 +264,9 @@ describe('table > filtering', () => {
262264 await waitNT ( wrapper . vm )
263265 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 1 )
264266 expect ( wrapper . vm . $_filterTimer ) . not . toBe ( null )
267+ expect ( wrapper . vm . $_filterTimer ) . not . toEqual ( lastFilterTimer )
268+ lastFilterTimer = wrapper . vm . $_filterTimer
269+ expect ( wrapper . vm . localFilter ) . not . toEqual ( '1' )
265270
266271 // Change filter
267272 wrapper . setProps ( {
@@ -270,12 +275,17 @@ describe('table > filtering', () => {
270275 await waitNT ( wrapper . vm )
271276 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 1 )
272277 expect ( wrapper . vm . $_filterTimer ) . not . toBe ( null )
278+ expect ( wrapper . vm . $_filterTimer ) . not . toEqual ( lastFilterTimer )
279+ lastFilterTimer = wrapper . vm . $_filterTimer
280+ expect ( wrapper . vm . localFilter ) . not . toEqual ( 'z' )
273281
274282 jest . runTimersToTime ( 101 )
275283 await waitNT ( wrapper . vm )
276284 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 2 )
277285 expect ( wrapper . emitted ( 'input' ) [ 1 ] [ 0 ] ) . toEqual ( [ testItems [ 2 ] ] )
278- expect ( wrapper . vm . $_filterTimer ) . toBe ( null )
286+ expect ( wrapper . vm . $_filterTimer ) . toEqual ( lastFilterTimer )
287+ lastFilterTimer = wrapper . vm . $_filterTimer
288+ expect ( wrapper . vm . localFilter ) . toEqual ( 'z' )
279289
280290 // Change filter
281291 wrapper . setProps ( {
@@ -284,6 +294,10 @@ describe('table > filtering', () => {
284294 await waitNT ( wrapper . vm )
285295 expect ( wrapper . vm . $_filterTimer ) . not . toBe ( null )
286296 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 2 )
297+ expect ( wrapper . vm . $_filterTimer ) . not . toEqual ( lastFilterTimer )
298+ lastFilterTimer = wrapper . vm . $_filterTimer
299+ expect ( wrapper . vm . localFilter ) . not . toEqual ( '1' )
300+ expect ( wrapper . vm . localFilter ) . toEqual ( 'z' )
287301
288302 // Change filter-debounce to no debouncing
289303 wrapper . setProps ( {
@@ -295,6 +309,7 @@ describe('table > filtering', () => {
295309 // Should immediately filter the items
296310 expect ( wrapper . emitted ( 'input' ) . length ) . toBe ( 3 )
297311 expect ( wrapper . emitted ( 'input' ) [ 2 ] [ 0 ] ) . toEqual ( [ testItems [ 1 ] ] )
312+ expect ( wrapper . vm . localFilter ) . toEqual ( '1' )
298313
299314 wrapper . destroy ( )
300315 } )
0 commit comments