Ref: https://github.com/facebook/react/issues/631#issuecomment-214909216

It's a little surprising that the codepath is even being hit, maybe that's a bug too, but there should clearly be some sort of `if` check in that area.

var inst = ReactDOM.render(<textarea defaultValue="foo"/>, container);
      var tracker = inputValueTracking._getTrackerFromNode(inst);
      expect(tracker.getValue()).toEqual('foo');
    });
    it('should execute custom event plugin listening behavior', function() {
      var SimpleEventPlugin = require('SimpleEventPlugin');
      SimpleEventPlugin.didPutListener = jest.fn();
      SimpleEventPlugin.willDeleteListener = jest.fn();
      var container = document.createElement('div');
      ReactDOM.render(
        <div onClick={() => true} />,
        container
      );
      expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(1);
      ReactDOM.unmountComponentAtNode(container);
      expect(SimpleEventPlugin.willDeleteListener.mock.calls.length).toBe(1);
    });
    it('should handle null and missing properly with event hooks', function() {
      var SimpleEventPlugin = require('SimpleEventPlugin');
      SimpleEventPlugin.didPutListener = jest.fn();
      SimpleEventPlugin.willDeleteListener = jest.fn();
      var container = document.createElement('div');
      ReactDOM.render(<div onClick={false} />, container);
      expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(0);
      expect(SimpleEventPlugin.willDeleteListener.mock.calls.length).toBe(0);
      ReactDOM.render(<div onClick={null} />, container);
      expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(0);
      expect(SimpleEventPlugin.willDeleteListener.mock.calls.length).toBe(0);
      ReactDOM.render(<div onClick={() => 'apple'} />, container);
      expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(1);