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 checked and no onChange handler', function() {
    var node = document.createElement('div');
    var link = new ReactLink(true, jest.fn());
    ReactDOM.render(<input type="checkbox" checkedLink={link} />, node);
    expect(console.error.calls.count()).toBe(1);
    expect(console.error.calls.argsFor(0)[0]).toContain(
      '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.'
    );
    ReactTestUtils.renderIntoDocument(
      <input
        type="checkbox"
        checked="false"
        onChange={jest.fn()}
      />
    );
    expect(console.error.calls.count()).toBe(1);
    ReactTestUtils.renderIntoDocument(
      <input type="checkbox" checked="false" readOnly={true} />
    );
    expect(console.error.calls.count()).toBe(1);
    ReactTestUtils.renderIntoDocument(<input type="checkbox" checked="false" />);
    expect(console.error.calls.count()).toBe(2);
  });
  it('should warn with checked and no onChange handler with readOnly specified', function() {
    ReactTestUtils.renderIntoDocument(
      <input type="checkbox" checked="false" readOnly={true} />
    );
    expect(console.error.calls.count()).toBe(0);
    ReactTestUtils.renderIntoDocument(
      <input type="checkbox" checked="false" readOnly={false} />