Skip to content

⬅️ Back to Table of Contents

📄 index.test.ts

📊 Analysis Summary

Metric Count
🔧 Functions 1
📦 Imports 10
📊 Variables & Constants 4
⚡ Async/Await Patterns 1

📚 Table of Contents

🛠️ File Location:

📂 packages/core/useCountdown/index.test.ts

📦 Imports

Name Source
Pausable @vueuse/shared
UseCountdownOptions ./index
beforeEach vitest
describe vitest
expect vitest
it vitest
vi vitest
effectScope vue
shallowRef vue
useCountdown ./index

Variables & Constants

Name Type Kind Value Exported
countdown number let/var 3
interval number let/var 100
immediate true const true
options UseCountdownOptions let/var `{
interval,
onComplete: completeCallback,
onTick: tickCallback,
immediate,
}`

Async/Await Patterns

Type Function Await Expressions Promise Chains
async-function exec none none

Functions

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

Code
async function exec({ isActive, pause, resume }: Pausable) {
    expect(isActive.value).toBeTruthy()
    expect(completeCallback).toHaveBeenCalledTimes(0)
    vi.advanceTimersByTime(110)
    expect(tickCallback).toHaveBeenCalledTimes(1)

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

    vi.advanceTimersByTime(110)
    expect(tickCallback).toHaveBeenCalledTimes(1)

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

    vi.advanceTimersByTime(110)
    expect(tickCallback).toHaveBeenCalledTimes(2)

    vi.advanceTimersByTime(110)
    expect(tickCallback).toHaveBeenCalledTimes(3)
    expect(completeCallback).toHaveBeenCalledTimes(1)
  }
  • Parameters:
  • { isActive, pause, resume }: Pausable
  • Return Type: Promise<void>
  • Calls:
  • expect(isActive.value).toBeTruthy
  • expect(completeCallback).toHaveBeenCalledTimes
  • vi.advanceTimersByTime
  • expect(tickCallback).toHaveBeenCalledTimes
  • pause
  • expect(isActive.value).toBeFalsy
  • resume