29 lines
678 B
TypeScript
29 lines
678 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import { removeAtInPlace } from '../hooks/useQueue.js'
|
|
|
|
describe('removeAtInPlace', () => {
|
|
it('removes the item at the given index in place', () => {
|
|
const arr = ['a', 'b', 'c']
|
|
|
|
removeAtInPlace(arr, 1)
|
|
expect(arr).toEqual(['a', 'c'])
|
|
})
|
|
|
|
it('is a no-op when the index is out of bounds', () => {
|
|
const arr = ['a', 'b']
|
|
|
|
removeAtInPlace(arr, -1)
|
|
removeAtInPlace(arr, 5)
|
|
expect(arr).toEqual(['a', 'b'])
|
|
})
|
|
|
|
it('returns the same reference (mutates in place)', () => {
|
|
const arr = ['x']
|
|
const same = removeAtInPlace(arr, 0)
|
|
|
|
expect(same).toBe(arr)
|
|
expect(arr).toEqual([])
|
|
})
|
|
})
|