Skip to content

⬅️ Back to Table of Contents

📄 index.test.ts

📊 Analysis Summary

Metric Count
🔧 Functions 2
📦 Imports 10
⚡ Async/Await Patterns 2

📚 Table of Contents

🛠️ File Location:

📂 packages/shared/useIntervalFn/index.test.ts

📦 Imports

Name Source
Pausable ../utils
beforeEach vitest
describe vitest
expect vitest
it vitest
vi vitest
effectScope vue
nextTick vue
shallowRef vue
useIntervalFn ./index

Async/Await Patterns

Type Function Await Expressions Promise Chains
async-function exec vi.advanceTimersByTimeAsync(60), vi.advanceTimersByTimeAsync(60), vi.advanceTimersByTimeAsync(60) none
async-function execImmediateCallback vi.advanceTimersByTimeAsync(60), vi.advanceTimersByTimeAsync(60), vi.advanceTimersByTimeAsync(60) none

Functions

exec({ isActive, pause, resume }: Pausable): Promise<void>

Code
async function exec({ isActive, pause, resume }: Pausable) {
    expect(isActive.value).toBeTruthy()
    expect(callback).toHaveBeenCalledTimes(0)

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(1)

    pause()
    expect(isActive.value).toBeFalsy()

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(1)

    resume()
    expect(isActive.value).toBeTruthy()

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(2)
  }
  • Parameters:
  • { isActive, pause, resume }: Pausable
  • Return Type: Promise<void>
  • Calls:
  • expect(isActive.value).toBeTruthy
  • expect(callback).toHaveBeenCalledTimes
  • vi.advanceTimersByTimeAsync
  • pause
  • expect(isActive.value).toBeFalsy
  • resume

execImmediateCallback({ isActive, pause, resume }: Pausable): Promise<void>

Code
async function execImmediateCallback({ isActive, pause, resume }: Pausable) {
    expect(isActive.value).toBeTruthy()
    expect(callback).toHaveBeenCalledTimes(1)

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(2)

    pause()
    expect(isActive.value).toBeFalsy()

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(2)

    resume()
    expect(isActive.value).toBeTruthy()
    expect(callback).toHaveBeenCalledTimes(3)

    await vi.advanceTimersByTimeAsync(60)
    expect(callback).toHaveBeenCalledTimes(4)
  }
  • Parameters:
  • { isActive, pause, resume }: Pausable
  • Return Type: Promise<void>
  • Calls:
  • expect(isActive.value).toBeTruthy
  • expect(callback).toHaveBeenCalledTimes
  • vi.advanceTimersByTimeAsync
  • pause
  • expect(isActive.value).toBeFalsy
  • resume