Можно ли создать новый экземпляр HTMLSlotElement с некоторыми назначенными узлами? - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь выполнить модульное тестирование функции, которая принимает HTMLSlotElement в качестве одного из аргументов и затем читает назначенные ей узлы. Можно ли программно создать новый экземпляр HTMLSlotElement с некоторыми назначенными узлами, чтобы я мог передать его функции?

Ответы [ 2 ]

1 голос
/ 25 марта 2020

В конце концов я сделал это, переопределив функцию назначенные узлы

    const heading = document.createElement('h1');
    heading.innerText = 'test heading';
    Object.defineProperty(titleSlot, 'assignedNodes', {
      value() {
        return [heading];
      },
      writable: false
    });
0 голосов
/ 25 марта 2020

HTMLSlotElement - это интерфейс, вы не можете создать экземпляр.

Но вы можете использовать этот интерфейс (он похож на класс c в C#) вот так:

> HTMLSlotElement.ELEMENT_NODE
> HTMLSlotElement.other Methods/properties
...