`SyntheticEvent.type` is undefined when received by the handler. Or the nativeEvent type for that matter.

Needs to be added in here somewhere: https://github.com/facebook/react/blob/3a4e1dbb5b2957875cab6af11a5e5934e125a0d8/src/test/ReactTestUtils.js#L496

I realize that it's not sustainable to have to set _all_ the possible fields for a simulated event, but the type at least makes sense for verification that you're getting the right _sort_ of event.

e.persist();
      },
    };
    spyOn(obj, 'handler').and.callThrough();
    var container = document.createElement('div');
    var instance = ReactDOM.render(<input type="text" onChange={obj.handler} />, container);
    var node = ReactDOM.findDOMNode(instance);
    node.value = 'giraffe';
    ReactTestUtils.Simulate.change(node);
    expect(obj.handler).toHaveBeenCalledWith(jasmine.objectContaining({target: node}));
  });
  it('should change the value of an input field in a component', function() {
    var SomeComponent = React.createClass({
      render: function() {
        return (
          <div>
            <input type="text" ref="input" onChange={this.props.handleChange} />
          </div>
        );
      },
    });
    var obj = {
      handler: function(e) {
        e.persist();
      },
    };
    spyOn(obj, 'handler').and.callThrough();
    var container = document.createElement('div');
    var instance = ReactDOM.render(<SomeComponent handleChange={obj.handler} />, container);
    var node = ReactDOM.findDOMNode(instance.refs.input);