mirror of
https://github.com/robonen/tools.git
synced 2026-03-20 10:54:44 +00:00
81 lines
2.2 KiB
TypeScript
81 lines
2.2 KiB
TypeScript
import { it, expect, describe } from 'vitest';
|
|
import { ref } from 'vue';
|
|
import { useCounter } from '.';
|
|
|
|
describe('useCounter', () => {
|
|
it('initialize count with the provided initial value', () => {
|
|
const { count } = useCounter(5);
|
|
expect(count.value).toBe(5);
|
|
});
|
|
|
|
it('initialize count with the provided initial value from a ref', () => {
|
|
const { count } = useCounter(ref(5));
|
|
expect(count.value).toBe(5);
|
|
});
|
|
|
|
it('initialize count with the provided initial value from a getter', () => {
|
|
const { count } = useCounter(() => 5);
|
|
expect(count.value).toBe(5);
|
|
});
|
|
|
|
it('increment count by 1 by default', () => {
|
|
const { count, increment } = useCounter(0);
|
|
increment();
|
|
expect(count.value).toBe(1);
|
|
});
|
|
|
|
it('increment count by the specified delta', () => {
|
|
const { count, increment } = useCounter(0);
|
|
increment(5);
|
|
expect(count.value).toBe(5);
|
|
});
|
|
|
|
it('decrement count by 1 by default', () => {
|
|
const { count, decrement } = useCounter(5);
|
|
decrement();
|
|
expect(count.value).toBe(4);
|
|
});
|
|
|
|
it('decrement count by the specified delta', () => {
|
|
const { count, decrement } = useCounter(10);
|
|
decrement(5);
|
|
expect(count.value).toBe(5);
|
|
});
|
|
|
|
it('set count to the specified value', () => {
|
|
const { count, set } = useCounter(0);
|
|
set(10);
|
|
expect(count.value).toBe(10);
|
|
});
|
|
|
|
it('get the current count value', () => {
|
|
const { get } = useCounter(5);
|
|
expect(get()).toBe(5);
|
|
});
|
|
|
|
it('reset count to the initial value', () => {
|
|
const { count, reset } = useCounter(10);
|
|
count.value = 5;
|
|
reset();
|
|
expect(count.value).toBe(10);
|
|
});
|
|
|
|
it('reset count to the specified value', () => {
|
|
const { count, reset } = useCounter(10);
|
|
count.value = 5;
|
|
reset(20);
|
|
expect(count.value).toBe(20);
|
|
});
|
|
|
|
it('clamp count to the minimum value', () => {
|
|
const { count, decrement } = useCounter(Number.MIN_SAFE_INTEGER);
|
|
decrement();
|
|
expect(count.value).toBe(Number.MIN_SAFE_INTEGER);
|
|
});
|
|
|
|
it('clamp count to the maximum value', () => {
|
|
const { count, increment } = useCounter(Number.MAX_SAFE_INTEGER);
|
|
increment();
|
|
expect(count.value).toBe(Number.MAX_SAFE_INTEGER);
|
|
});
|
|
}); |