Right now we validate some of our proptype definitions, but we don't surface the issue until that component class is consumed. We should instead validate these, in `__DEV__` only as warnings when the class in created. This means that a call to `React.PropTypes.onOf('foo')` results in an immediate warning logged.

This is a relatively contained bit of code so would be a good candidate for somebody looking to start contributing to React.

expect(console.error.calls.count()).toBe(1);
      expect(
        console.error.calls.argsFor(0)[0].replace(/\(at .+?:\d+\)/g, '(at **)')
      ).toBe(
        'Warning: Failed prop type: num must be 5!\n' +
        '    in Component (at **)'
      );
    });
    it('should not warn if the validator returned null',
      function() {
        spyOn(console, 'error');
        var spy = jasmine.createSpy().and.callFake(
          function(props, propName, componentName) {
            return null;
          }
        );
        Component = React.createClass({
          propTypes: {num: spy},
          render: function() {
            return <div />;
          },
        });
        var instance = <Component num={5} />;
        instance = ReactTestUtils.renderIntoDocument(instance);
        expect(console.error.calls.count()).toBe(0);
      }
    );
  });
});