1
0
mirror of https://github.com/robonen/tools.git synced 2026-03-20 02:44:45 +00:00

test(web/vue): update event listener tests to use globalThis and improve assertions

This commit is contained in:
2026-02-15 05:30:58 +07:00
parent c48de9a3d1
commit 9bece480ca
3 changed files with 19 additions and 20 deletions

View File

@@ -192,8 +192,8 @@ describe(useEventListener, () => {
it('use window as default target when event string is passed directly', async () => {
const listener = vi.fn();
const addSpy = vi.spyOn(window, 'addEventListener');
const removeSpy = vi.spyOn(window, 'removeEventListener');
const addSpy = vi.spyOn(globalThis, 'addEventListener');
const removeSpy = vi.spyOn(globalThis, 'removeEventListener');
component = mountWithEventListener(() => {
useEventListener('click', listener);
@@ -213,7 +213,7 @@ describe(useEventListener, () => {
it('use window as default target when event array is passed directly', async () => {
const listener = vi.fn();
const addSpy = vi.spyOn(window, 'addEventListener');
const addSpy = vi.spyOn(globalThis, 'addEventListener');
component = mountWithEventListener(() => {
useEventListener(['click', 'keydown'], listener);

View File

@@ -1,6 +1,5 @@
import { isArray, isObject, isString, noop } from '@robonen/stdlib';
import { first, isArray, isObject, isString, noop } from '@robonen/stdlib';
import type { Arrayable, VoidFunction } from '@robonen/stdlib';
import { first } from '@robonen/stdlib';
import { toValue, watch } from 'vue';
import type { MaybeRefOrGetter } from 'vue';
import { defaultWindow } from '@/types';

View File

@@ -104,8 +104,8 @@ describe(useTabLeader, () => {
await nextTick();
expect(component.vm.isSupported).toBe(true);
expect(component.vm.isLeader).toBe(true);
expect(component.vm.isSupported).toBeTruthy();
expect(component.vm.isLeader).toBeTruthy();
});
it('not grant leadership when another tab holds the lock', async () => {
@@ -125,8 +125,8 @@ describe(useTabLeader, () => {
await nextTick();
expect(leader1!.isLeader.value).toBe(true);
expect(leader2!.isLeader.value).toBe(false);
expect(leader1!.isLeader.value).toBeTruthy();
expect(leader2!.isLeader.value).toBeFalsy();
scope1.stop();
scope2.stop();
@@ -148,15 +148,15 @@ describe(useTabLeader, () => {
});
await nextTick();
expect(leader1!.isLeader.value).toBe(true);
expect(leader2!.isLeader.value).toBe(false);
expect(leader1!.isLeader.value).toBeTruthy();
expect(leader2!.isLeader.value).toBeFalsy();
// Leader 1 releases (e.g., tab closes)
scope1.stop();
await nextTick();
expect(leader1!.isLeader.value).toBe(false);
expect(leader2!.isLeader.value).toBe(true);
expect(leader1!.isLeader.value).toBeFalsy();
expect(leader2!.isLeader.value).toBeTruthy();
scope2.stop();
});
@@ -170,15 +170,15 @@ describe(useTabLeader, () => {
});
await nextTick();
expect(leader!.isLeader.value).toBe(true);
expect(leader!.isLeader.value).toBeTruthy();
leader!.release();
await nextTick();
expect(leader!.isLeader.value).toBe(false);
expect(leader!.isLeader.value).toBeFalsy();
leader!.acquire();
await nextTick();
expect(leader!.isLeader.value).toBe(true);
expect(leader!.isLeader.value).toBeTruthy();
scope.stop();
});
@@ -192,12 +192,12 @@ describe(useTabLeader, () => {
});
await nextTick();
expect(leader!.isLeader.value).toBe(false);
expect(leader!.isLeader.value).toBeFalsy();
expect(navigator.locks.request).not.toHaveBeenCalled();
leader!.acquire();
await nextTick();
expect(leader!.isLeader.value).toBe(true);
expect(leader!.isLeader.value).toBeTruthy();
scope.stop();
});
@@ -216,7 +216,7 @@ describe(useTabLeader, () => {
await nextTick();
expect(component.vm.isSupported).toBe(false);
expect(component.vm.isLeader).toBe(false);
expect(component.vm.isSupported).toBeFalsy();
expect(component.vm.isLeader).toBeFalsy();
});
});