Spec-Zone.ru › Enzyme

.containsMatchingElement(patternNode) => Boolean

Возвращает, соответствует ли patternNode элемент React любому элементу в дереве рендеринга.

  • совпадение может произойти где угодно в содержимом обертки
  • обертка может содержать более одного узла; все они проверяются

В противном случае, сопоставление следует тем же правилам, что и matchesElement.

Аргументы

  1. patternNode (ReactElement): Узел, присутствие которого вы обнаруживаете в дереве рендеринга текущего экземпляра.

Возвращает

Boolean: содержит ли текущая обертка узел в своем дереве рендеринга, соответствующий переданному.

Пример

const wrapper = mount((
  <div>
    <div data-foo="foo" data-bar="bar">Hello</div>
  </div>
));

expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar">Hello</div>)).to.equal(true);
expect(wrapper.containsMatchingElement(<div data-foo="foo">Hello</div>)).to.equal(true);

expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar" data-baz="baz">Hello</div>)).to.equal(false);
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="Hello">Hello</div>)).to.equal(false);
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar" />)).to.equal(false);

Возможные ошибки

  • .containsMatchingElement() ожидает ReactElement, а не селектор (как многие другие методы). Убедитесь, что при вызове используется ReactElement или выражение JSX.
  • Обратите внимание, что этот метод определяет равенство на основе равенства дочерних узлов узла.

Связанные методы

  • .containsAllMatchingElements() => ReactWrapper - должно соответствовать всем узлам в patternNodes
  • .containsAnyMatchingElements() => ReactWrapper - должно соответствовать хотя бы одному в patternNodes

© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ReactWrapper/containsMatchingElement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API