Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add children to mounted portal props #1774

Merged
merged 1 commit into from
Aug 20, 2018

Conversation

jgzuke
Copy link
Collaborator

@jgzuke jgzuke commented Aug 19, 2018

Add children to mounted portal props. This brings the mount results in line with the shallow results and the other element types (which have props.children).

Also added the shallow renders react portals test. Compared to the renders react portals test above, node.rendered.ref comes back undefined instead of null which may be an issue with https://github.com/airbnb/enzyme/blob/master/packages/enzyme-adapter-react-16/src/ReactSixteenAdapter.js#L103, if a portal can never have refs this might make sense to hard code as null. The inner divs rendered also comes back 'Hello World!' instead of ['Hello World!'] which seems like the shallow renderer Utils.elementToTree is missing the check at https://github.com/airbnb/enzyme/blob/master/packages/enzyme-adapter-react-16/src/ReactSixteenAdapter.js#L157.

@ljharb ljharb added this to Portals in React 16 Aug 19, 2018
@ljharb ljharb force-pushed the jgzuke-add-child-to-portal-props branch from 1606438 to 422dd30 Compare August 19, 2018 19:02
containerInfo: containerDiv,
},
key: undefined,
ref: undefined,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

based on your comment, it seems like this should be null, and not undefined. Thoughts?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, does it make sense that portal rendered.ref should always be null? Im not sure what refs are here. I will follow up on the other issue (array wrapping rendered in shallow) as well but separately.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does ref ever return undefined for anything else? If not, then it should probably be null here.

@ljharb ljharb force-pushed the jgzuke-add-child-to-portal-props branch from 422dd30 to 0f0f052 Compare August 20, 2018 07:05
@ljharb ljharb merged commit 0f0f052 into enzymejs:master Aug 20, 2018
ljharb added a commit that referenced this pull request Aug 25, 2018
 - [New] Add Portal support (#1760, #1761, #1772, #1774, @jgzuke)
 - [New] Add pointer events support (#1753, @ljharb)
 - [New] Add `displayNameOfNode`, `isValidElementType` (#1701, @jquense)
 - [New] pass the adapter into `createMountWrapper` (#1592, @jquense)
 - [Fix] `shallow`: skip updates when nextState is `null` or `undefined` (#1785, @koba04)
 - update deps
 - [meta] ensure a license and readme is present in all packages when published
ljharb added a commit that referenced this pull request Aug 25, 2018
 - [New] Add forwardRef support (#1592, @jquense)
 - [New] Add Portal support (#1760, #1761, #1772, #1774, @jgzuke)
 - [New] Add pointer events support (#1753, @ljharb)
 - [New] Add `displayNameOfNode`, `isValidElementType` (#1701, @jquense)
 - [New] pass the adapter into `createMountWrapper` (#1592, @jquense)
 - [Fix] preemptively fix compat with React v16.4.3 (#1790, #1778, @gaearon, @aweary)
 - [Fix] `shallow`: skip updates when nextState is `null` or `undefined` (#1785, @koba04)
 - update deps
 - [meta] ensure a license and readme is present in all packages when published
ljharb added a commit that referenced this pull request Aug 25, 2018
 - [New] Add forwardRef support (#1592, @jquense)
 - [New] Add Portal support (#1760, #1761, #1772, #1774, @jgzuke)
 - [New] Add pointer events support (#1753, @ljharb)
 - [Fix] preemptively fix compat with React v16.4.3 (#1790, #1778, @gaearon, @aweary)
 - [Fix] `shallow`: prevent rerenders with PureComponents (#1786, @koba04)
 - [Fix] `shallow`: skip updates when nextState is `null` or `undefined` (#1785, @koba04)
 - [Fix] `shallow`: `setState` after `setProps` calls `componentWillReceiveProps` (#1779, @peanutenthusiast)
 - [Fix] `mount`/`shallow`: be stricter on the wrapper’s setState/setProps callback
 - [Fix] `shallow`/`mount`: improve error message when wrapping invalid elements (#1759, @jgzuke)
 - update deps
 - [Refactor] remove most uses of lodash
 - [meta] ensure a license and readme is present in all packages when published
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
React 16
  
Portals
Development

Successfully merging this pull request may close these issues.

None yet

2 participants