pull/1689/head
konnorrogers 2023-10-26 16:46:17 -04:00
rodzic 1c8a73fc0d
commit 662cf8297f
2 zmienionych plików z 10 dodań i 10 usunięć

Wyświetl plik

@ -34,11 +34,11 @@ describe('<sl-color-picker>', () => {
// Simulate a drag event. "sl-change" should not fire until we stop dragging.
await dragElement(grid, 2, 0, {
afterMouseDown: async () => {
afterMouseDown: () => {
expect(changeHandler).to.have.not.been.called;
expect(inputHandler).to.have.been.calledOnce;
},
afterMouseMove: async () => {
afterMouseMove: () => {
expect(inputHandler).to.have.been.calledTwice;
}
});
@ -63,11 +63,11 @@ describe('<sl-color-picker>', () => {
await aTimeout(200); // wait for the dropdown to open
// Simulate a drag event. "sl-change" should not fire until we stop dragging.
await dragElement(slider, 20, 0, {
afterMouseDown: async () => {
afterMouseDown: () => {
expect(changeHandler).to.have.not.been.called;
expect(inputHandler).to.have.been.calledOnce;
},
afterMouseMove: async () => {
afterMouseMove: () => {
// It's not twice because you can't change the hue of white!
expect(inputHandler).to.have.been.calledOnce;
}
@ -95,11 +95,11 @@ describe('<sl-color-picker>', () => {
// Simulate a drag event. "sl-change" should not fire until we stop dragging.
await dragElement(slider, 2, 0, {
afterMouseDown: async () => {
afterMouseDown: () => {
expect(changeHandler).to.have.not.been.called;
expect(inputHandler).to.have.been.calledOnce;
},
afterMouseMove: async () => {
afterMouseMove: () => {
expect(inputHandler).to.have.been.calledTwice;
}
});

Wyświetl plik

@ -75,19 +75,19 @@ export async function dragElement(
/** The vertical distance to drag in pixels */
deltaY = 0,
callbacks: {
afterMouseDown?: () => Promise<void>
afterMouseMove?: () => Promise<void>
afterMouseDown?: () => void | Promise<void>;
afterMouseMove?: () => void | Promise<void>;
} = {}
): Promise<void> {
await moveMouseOnElement(el);
await sendMouse({ type: 'down' });
await callbacks.afterMouseDown?.()
await callbacks.afterMouseDown?.();
const { clickX, clickY } = determineMousePosition(el, 'center', deltaX, deltaY);
await sendMouse({ type: 'move', position: [clickX, clickY] });
await callbacks.afterMouseMove?.()
await callbacks.afterMouseMove?.();
await sendMouse({ type: 'up' });
}