From e20d366ea85631e6d8326a304c0375c02687eb3c Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 21 Apr 2016 22:23:35 +0100 Subject: [PATCH] Fix expect() slipping into the non-test code --- .../devtools/ReactComponentTreeDevtool.js | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/isomorphic/devtools/ReactComponentTreeDevtool.js b/src/isomorphic/devtools/ReactComponentTreeDevtool.js index af00521163..0f65e1cfc2 100644 --- a/src/isomorphic/devtools/ReactComponentTreeDevtool.js +++ b/src/isomorphic/devtools/ReactComponentTreeDevtool.js @@ -11,6 +11,8 @@ 'use strict'; +var invariant = require('invariant'); + var unmountedContainerIDs = []; var allChildIDsByContainerID = {}; var tree = {}; @@ -65,10 +67,27 @@ var ReactComponentTreeDevtool = { nextChildIDs.forEach(nextChildID => { var item = tree[nextChildID]; - expect(item).toBeDefined(); - expect(item.isComposite).toBeDefined(); - expect(item.displayName).toBeDefined(); - expect(item.childIDs || item.text).toBeDefined(); + + invariant( + item, + 'Expected devtool events to fire for the child ' + + 'before its parent includes it in onSetChildren().' + ); + invariant( + item.isComposite != null, + 'Expected onSetIsComposite() to fire for the child ' + + 'before its parent includes it in onSetChildren().' + ); + invariant( + item.displayName != null, + 'Expected onSetDisplayName() to fire for the child ' + + 'before its parent includes it in onSetChildren().' + ); + invariant( + item.childIDs != null || item.text != null, + 'Expected either onSetChildren() or onSetText() to fire for the child ' + + 'before its parent includes it in onSetChildren().' + ); if (tree[nextChildID] && prevChildIDs.indexOf(nextChildID) === -1) { tree[nextChildID].parentID = id;