Jsdom: API da área de transferência

Criado em 21 jul. 2016  ·  5Comentários  ·  Fonte: jsdom/jsdom

Oi,

Não vejo nenhuma implementação da API da área de transferência, com os objetos DataTransfer, DataTransferItemList e DataTransferItemListItem. Existe algum plano que o apoie?

feature

Comentários muito úteis

Existe algum plano para oferecer suporte ao DataTransfer? Ajudaria com um problema que estou testando eventos onDrop usando react-testing-library

https://github.com/kentcdodds/react-testing-library/issues/339

Todos 5 comentários

Uma solicitação de pull adicionando suporte para isso definitivamente seria bem-vinda.

Existe algum plano para oferecer suporte ao DataTransfer? Ajudaria com um problema que estou testando eventos onDrop usando react-testing-library

https://github.com/kentcdodds/react-testing-library/issues/339

Não é uma implementação completa para ter certeza .. mas dependendo do que você deseja do objeto DataTransfer , você pode encontrar boas informações sobre onde procurar para começar a implementar isso / hackear para suas necessidades em: https:/ /github.com/jsdom/jsdom/issues/1272#issuecomment -486088445

Não é uma implementação completa para ter certeza .. mas dependendo do que você quer do objeto DataTransfer , você pode encontrar boas informações sobre onde procurar para começar a implementar isso / hackear para suas necessidades em: #1272 ( Comente)

Eu tentei zombar do ClipBoardEvent da mesma forma que você fez

import { implementation } from 'jsdom/lib/jsdom/living/events/Event-impl';

// @ts-ignore
class ClipboardEventMock extends implementation implements ClipboardEvent  {
    public readonly clipboardData: DataTransfer | null;
    public constructor(type: string, eventInitDict?: ClipboardEventInit) {
        super(type, eventInitDict);
        this.clipboardData = eventInitDict?.clipboardData || null;
    }
}

Object.defineProperty(window, 'ClipboardEvent', {
    writable: true,
    value: jest.fn().mockImplementation((type, eventInitDict) => new ClipboardEventMock(type, eventInitDict)),
});

mas obtive um resultado com fio silencioso TypeError: Class constructor EventImpl cannot be invoked without 'new' .
Você já viu isso?

@icy0307 Em vez de acessar jsdom/lib que não é compatível, você deve criar uma nova simulação para cada janela. Então você poderia dizer extends window.Event .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

cg433n picture cg433n  ·  3Comentários

vsemozhetbyt picture vsemozhetbyt  ·  4Comentários

tolmasky picture tolmasky  ·  4Comentários

amfio picture amfio  ·  3Comentários

kilianc picture kilianc  ·  4Comentários