Just about every time I set up a new `Context.Provider`, I end up accidentally specifying a `values` prop rather than `value`.  While it's a minor error, generally I build the container in which the provider resides and commit it to the code base before I ever use it.  It's only later when I go to use it that I realize I did it again.  Since the `Context.Provider` seems pretty much useless without a `value` prop specified, I'd love it if there was a prop error if it is missing... especially if another prop is defined on the `Context.Provider` instead.
const secondContext = {bar: 456};
    const container = document.createElement('div');
    ReactDOM.render(
      <Context.Provider value={firstContext}>
        <Component />
      </Context.Provider>,
      container,
    );
    expect(constructorContext).toBe(firstContext);
    expect(renderContext).toBe(firstContext);
    expect(componentDidMountContext).toBe(firstContext);
    ReactDOM.render(
      <Context.Provider value={secondContext}>
        <Component />
      </Context.Provider>,
      container,
    );
    expect(componentWillReceivePropsContext).toBe(firstContext);
    expect(componentWillReceivePropsNextContext).toBe(secondContext);
    expect(componentWillUpdateContext).toBe(firstContext);
    expect(componentWillUpdateNextContext).toBe(secondContext);
    expect(renderContext).toBe(secondContext);
    expect(componentDidUpdateContext).toBe(secondContext);
    
    expect(shouldComponentUpdateWasCalled).toBe(false);
  });
  it('should re-render PureComponents when context Provider updates', () => {
    let renderedContext;
    const Context = React.createContext();
    class Component extends React.PureComponent {