I have this code

```
       <input name='test' value={1} type='radio' />
       <input name='test' value={2} type='radio' defaultChecked />
```

https://jsfiddle.net/69z2wepo/42137/

And when I click on radio it gives me warning
Warning: Test is changing a uncontrolled input of type radio to be controlled. Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components

So its not clear why or is it a bug ?

it('should warn with value and no onChange handler', function() {
    var link = new ReactLink('yolo', jest.fn());
    ReactTestUtils.renderIntoDocument(<input type="text" valueLink={link} />);
    expect(console.error.calls.count()).toBe(1);
    expect(console.error.calls.argsFor(0)[0]).toContain(
      '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.'
    );
    ReactTestUtils.renderIntoDocument(
      <input type="text" value="zoink" onChange={jest.fn()} />
    );
    expect(console.error.calls.count()).toBe(1);
    ReactTestUtils.renderIntoDocument(<input type="text" value="zoink" />);
    expect(console.error.calls.count()).toBe(2);
  });
  it('should warn with value and no onChange handler and readOnly specified', function() {
    ReactTestUtils.renderIntoDocument(
      <input type="text" value="zoink" readOnly={true} />
    );
    expect(console.error.calls.count()).toBe(0);
    ReactTestUtils.renderIntoDocument(
      <input type="text" value="zoink" readOnly={false} />
    );
    expect(console.error.calls.count()).toBe(1);
  });
  it('should have a this value of undefined if bind is not used', function() {
    var unboundInputOnChange = function() {
      expect(this).toBe(undefined);
    };
    var instance = <input type="text" onChange={unboundInputOnChange} />;
    instance = ReactTestUtils.renderIntoDocument(instance);