2016-07-31 11 views
1

私は酵素+ mocha + chaiでjsdomを使用してReactコンポーネントの動作をテストしています。このコンポーネントには、DOMノード(通常はnode.focus()を使用)をフォーカスするメソッドがあり、呼び出されたときにノードが実際にフォーカスされているかどうかをテストします。jsdomノードにフォーカスするときに9.1+がdocument.activeElementを設定しない

どのノードに注目しているかを知るために、私はdocument.activeElementと、注目していると予想されるノードを比較します。

ただし、ノードのfocus()メソッドを呼び出した後でも、jsdom 9.1+にアップグレードした後、document.activeElementは常にHTMLBodyElementと思われます。

jsdom 9.0では、テストは正常に動作します。

私はフォーカスイベントに関連してjsdom 9.1+ contains some changesを読みましたが、document.activeElementが期待どおりに動作するかを理解できませんでした。どんな助け?

答えて

2

フォーカスしようとしている要素にtabindex属性がないことがありますか。 jsdomがフォーカス可能と解釈するには、有効な整数に設定する必要があります。

これはjsdom source codeで確認できます。

+0

そうでした!ありがとう! – gpbl

関連する問題