Spec-Zone.ru › Enzyme

.matchesElement(patternNode) => Boolean

Возвращает значение true или false, в зависимости от того, соответствует ли заданный элемент React patternNode дереву рендеринга обёртки. Он должен быть обёрткой с единственным узлом, и проверяется только корневой узел.

patternNode действует как символ подстановки. Для соответствия узла в обёртке:

  • имена тегов должны совпадать
  • содержимое должно совпадать: в текстовых узлах начальные и конечные пробелы игнорируются, но не пробелы внутри. Дочерние элементы должны совпадать в соответствии с этими правилами рекурсивно.
  • patternNode атрибуты (свойства) должны присутствовать в узлах обёртки, но не наоборот. Их значения должны совпадать, если они присутствуют.
  • patternNode свойства CSS-стилей должны присутствовать в стиле узла обёртки, но не наоборот. Их значения должны совпадать, если они присутствуют.

Аргументы

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

Возвращает

Boolean: значение true или false, соответствует ли текущая обертка переданной.

Пример

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    // ...
  }

  render() {
    return (
      <button type="button" onClick={this.handleClick} className="foo bar">Hello</button>
    );
  }
}

const wrapper = shallow(<MyComponent />);
expect(wrapper.matchesElement(<button>Hello</button>)).to.equal(true);
expect(wrapper.matchesElement(<button className="foo bar">Hello</button>)).to.equal(true);

Общие ошибки

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

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

  • .containsMatchingElement() => ShallowWrapper - ищет все узлы в обёртке и ищет их на всей глубине

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

Spec-Zone.ru

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