After a discussion with @spicyj we decided to keep the warning even though the functions will throw in production. The warning is the only way to learn about that.

We should also document how to pass the secret through in case you know what you're doing.

'`testComponent`, expected `symbol`.'
      );
    });
    it('should not warn for a polyfilled Symbol', () => {
      var CoreSymbol = require('core-js/library/es6/symbol');
      typeCheckPass(PropTypes.symbol, CoreSymbol('core-js'));
    });
  });
  describe('Custom validator', () => {
    beforeEach(() => {
      jest.resetModules();
    });
    it('should have been called with the right params', () => {
      var spy = jasmine.createSpy();
      Component = class extends React.Component {
        static propTypes = {num: spy};
        render() {
          return <div />;
        }
      };
      var instance = <Component num={5} />;
      ReactTestUtils.renderIntoDocument(instance);
      expect(spy.calls.count()).toBe(1);
      expect(spy.calls.argsFor(0)[1]).toBe('num');
    });
    it('should have been called even if the prop is not present', () => {
      var spy = jasmine.createSpy();
      Component = class extends React.Component {
        static propTypes = {num: spy};
        render() {