@@ -18,7 +18,7 @@ describe('useRafLoop', () => {
1818 renderHook ( ( ) => useRafLoop ( callback , { immediate : true } ) )
1919
2020 act ( ( ) => {
21- vi . advanceTimersByTime ( 1000 / 60 ) // Simulate frame
21+ vi . advanceTimersToNextFrame ( )
2222 } )
2323
2424 expect ( callback ) . toHaveBeenCalled ( )
@@ -28,7 +28,7 @@ describe('useRafLoop', () => {
2828 renderHook ( ( ) => useRafLoop ( callback , { immediate : false } ) )
2929
3030 act ( ( ) => {
31- vi . advanceTimersByTime ( 1000 / 60 ) // Simulate frame
31+ vi . advanceTimersToNextFrame ( )
3232 } )
3333
3434 expect ( callback ) . not . toHaveBeenCalled ( )
@@ -41,43 +41,39 @@ describe('useRafLoop', () => {
4141 act ( ( ) => {
4242 vi . advanceTimersByTime ( 1_000 ) // Simulate 1 second
4343 } )
44-
45- setTimeout ( ( ) => {
46- expect ( count . value ) . toBeLessThan ( 30 )
47- expect ( count . value ) . toBeGreaterThan ( 0 )
44+ act ( ( ) => {
45+ vi . advanceTimersToNextFrame ( )
4846 } )
47+
48+ expect ( count . value ) . toSatisfy ( ( v : number ) => v > 0 && v <= 30 , 'within (0, 30] range' )
4949 } )
5050
5151 it ( 'should pause and resume correctly' , ( ) => {
5252 const { result } = renderHook ( ( ) => useRafLoop ( callback ) )
5353
5454 act ( ( ) => {
5555 result . current . pause ( )
56- vi . advanceTimersByTime ( 1000 / 60 ) // Simulate frame
56+ vi . advanceTimersToNextFrame ( )
5757 } )
5858
5959 expect ( callback ) . not . toHaveBeenCalled ( )
6060
6161 act ( ( ) => {
6262 result . current . resume ( )
63- vi . advanceTimersByTime ( 1000 / 60 ) // Simulate frame
63+ vi . advanceTimersToNextFrame ( )
6464 } )
6565
6666 expect ( callback ) . toHaveBeenCalled ( )
6767 } )
6868
6969 it ( 'should call immediateCallback before the first frame' , ( ) => {
70- const immediateCallback = vi . fn ( )
71-
7270 renderHook ( ( ) =>
7371 useRafLoop ( callback , {
7472 immediate : true ,
7573 immediateCallback : true ,
7674 } ) ,
7775 )
7876
79- setTimeout ( ( ) => {
80- expect ( immediateCallback ) . toHaveBeenCalled ( )
81- } )
77+ expect ( callback ) . toHaveBeenCalled ( )
8278 } )
8379} )
0 commit comments