I think this shouldn't pass:

```js
    expect(() => {
      expect(() => {
        throw new Error('haha') // no warning
      }).toWarnDev(
        'nope',
      );
    }).toThrow('haha');
```

but it does.
'    in Component (at **)\n' +
        '    in span',
    );
    expect(renders).toBe(2);
  });
  it('should silently allow `setState`, not call cb on unmounting components', () => {
    let cbCalled = false;
    const container = document.createElement('div');
    document.body.appendChild(container);
    class Component extends React.Component {
      state = {value: 0};
      componentWillUnmount() {
        expect(() => {
          this.setState({value: 2}, function() {
            cbCalled = true;
          });
        }).not.toThrow();
      }
      render() {
        return <div />;
      }
    }
    const instance = ReactDOM.render(<Component />, container);
    instance.setState({value: 1});
    ReactDOM.unmountComponentAtNode(container);
    expect(cbCalled).toBe(false);
  });
  it('should warn when rendering a class with a render method that does not extend React.Component', () => {
    const container = document.createElement('div');
    class ClassWithRenderNotExtended {