Skip to content

Commit 61c753a

Browse files
committed
edge case for updated version of react
1 parent 3966f66 commit 61c753a

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

package/__tests__/linkFiber.test.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1+
/* eslint-disable import/no-extraneous-dependencies */
12
// const Tree = require('./tree');
3+
import React from 'react';
4+
import { render } from 'react-dom';
5+
6+
const linkFiberRequire = require('../linkFiber');
7+
28
let linkFiber;
3-
let ReactDOM;
4-
let React;
59
let mode;
610
let snapShot;
11+
let component;
712

813
describe('unit test for linkFiber', () => {
914
beforeEach(() => {
@@ -13,9 +18,7 @@ describe('unit test for linkFiber', () => {
1318
paused: false,
1419
locked: false,
1520
};
16-
React = require('react');
17-
ReactDOM = require('react-dom');
18-
linkFiber = require('../linkFiber')(snapShot, mode);
21+
linkFiber = linkFiberRequire(snapShot, mode);
1922

2023
class App extends React.Component {
2124
constructor(props) {
@@ -29,8 +32,10 @@ describe('unit test for linkFiber', () => {
2932
}
3033

3134
const container = document.createElement('div');
32-
ReactDOM.render(<App />, container);
35+
render(<App />, container);
3336
linkFiber(container);
37+
// eslint-disable-next-line prefer-destructuring
38+
component = snapShot.tree.children[0].component;
3439
});
3540

3641
test('linkFiber should mutate the snapshot tree property', () => {
@@ -42,9 +47,12 @@ describe('unit test for linkFiber', () => {
4247
});
4348

4449
test('linkFiber should modify the setState of the stateful component', () => {
45-
console.log(snapShot.tree.children[0].component.setState);
46-
// snapShot.tree.children[0].component.setState({ foo: 'josh' });
47-
// expect(snapShot.tree.children[0].component.setState).toBeInstanceOf(newSetState);
48-
// expect(snapShot.tree.children[0].component.state.foo).toBe('josh');
50+
expect(snapShot.tree.children[0].component.setState.name).toBe('newSetState');
4951
});
52+
53+
// test('newSetState should still setState correctly', () => {
54+
// component.setState({ foo: 'barf' });
55+
// expect(component.state).not.toEqual({ foo: 'bar' });
56+
// expect(component.state).toEqual({ foo: 'barf' });
57+
// });
5058
});

package/linkFiber.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,10 @@ module.exports = (snap, mode) => {
6868
return (container) => {
6969
const {
7070
_reactRootContainer: { _internalRoot },
71+
_reactRootContainer,
7172
} = container;
72-
fiberRoot = _internalRoot;
73+
// only assign internal root if it actually exists
74+
fiberRoot = (_internalRoot) ? _internalRoot : _reactRootContainer;
7375
updateSnapShotTree();
7476

7577
// send the initial snapshot once the content script has started up

0 commit comments

Comments
 (0)