diff --git a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationCheckbox-test.js b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationCheckbox-test.js
new file mode 100644
index 0000000000000..61c08c1295814
--- /dev/null
+++ b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationCheckbox-test.js
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ * @emails react-core
+ */
+
+'use strict';
+
+const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
+
+let React;
+let ReactDOM;
+let ReactDOMServer;
+
+function initModules() {
+ // Reset warning cache.
+ jest.resetModuleRegistry();
+ React = require('react');
+ ReactDOM = require('react-dom');
+ ReactDOMServer = require('react-dom/server');
+
+ // Make them available to the helpers.
+ return {
+ ReactDOM,
+ ReactDOMServer,
+ };
+}
+
+const {resetModules, itRenders} = ReactDOMServerIntegrationUtils(initModules);
+
+describe('ReactDOMServerIntegrationCheckbox', () => {
+ beforeEach(() => {
+ resetModules();
+ });
+
+ itRenders('a checkbox that is checked with an onChange', async render => {
+ const e = await render(
+ {}} />,
+ );
+ expect(e.checked).toBe(true);
+ });
+
+ itRenders('a checkbox that is checked with readOnly', async render => {
+ const e = await render(
+ ,
+ );
+ expect(e.checked).toBe(true);
+ });
+
+ itRenders(
+ 'a checkbox that is checked and no onChange/readOnly',
+ async render => {
+ // this configuration should raise a dev warning that checked without
+ // onChange or readOnly is a mistake.
+ const e = await render(, 1);
+ expect(e.checked).toBe(true);
+ },
+ );
+
+ itRenders('a checkbox with defaultChecked', async render => {
+ const e = await render();
+ expect(e.checked).toBe(true);
+ expect(e.getAttribute('defaultChecked')).toBe(null);
+ });
+
+ itRenders('a checkbox checked overriding defaultChecked', async render => {
+ const e = await render(
+ ,
+ 1,
+ );
+ expect(e.checked).toBe(true);
+ expect(e.getAttribute('defaultChecked')).toBe(null);
+ });
+
+ itRenders(
+ 'a checkbox checked overriding defaultChecked no matter the prop order',
+ async render => {
+ const e = await render(
+ ,
+ 1,
+ );
+ expect(e.checked).toBe(true);
+ expect(e.getAttribute('defaultChecked')).toBe(null);
+ },
+ );
+});
diff --git a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationForms-test.js b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationForms-test.js
deleted file mode 100644
index aef376168f458..0000000000000
--- a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationForms-test.js
+++ /dev/null
@@ -1,802 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @emails react-core
- */
-
-'use strict';
-
-const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
-
-let React;
-let ReactDOM;
-let ReactDOMServer;
-
-function initModules() {
- // Reset warning cache.
- jest.resetModuleRegistry();
- React = require('react');
- ReactDOM = require('react-dom');
- ReactDOMServer = require('react-dom/server');
-
- // Make them available to the helpers.
- return {
- ReactDOM,
- ReactDOMServer,
- };
-}
-
-const {
- resetModules,
- itRenders,
- itClientRenders,
- itThrowsWhenRendering,
- renderIntoDom,
- serverRender,
-} = ReactDOMServerIntegrationUtils(initModules);
-
-describe('ReactDOMServerIntegration', () => {
- beforeEach(() => {
- resetModules();
- });
-
- describe('form controls', function() {
- describe('inputs', function() {
- itRenders('an input with a value and an onChange', async render => {
- const e = await render( {}} />);
- expect(e.value).toBe('foo');
- });
-
- itRenders('an input with a value and readOnly', async render => {
- const e = await render();
- expect(e.value).toBe('foo');
- });
-
- itRenders(
- 'an input with a value and no onChange/readOnly',
- async render => {
- // this configuration should raise a dev warning that value without
- // onChange or readOnly is a mistake.
- const e = await render(, 1);
- expect(e.value).toBe('foo');
- expect(e.getAttribute('value')).toBe('foo');
- },
- );
-
- itRenders('an input with a defaultValue', async render => {
- const e = await render();
- expect(e.value).toBe('foo');
- expect(e.getAttribute('value')).toBe('foo');
- expect(e.getAttribute('defaultValue')).toBe(null);
- });
-
- itRenders('an input value overriding defaultValue', async render => {
- const e = await render(
- ,
- 1,
- );
- expect(e.value).toBe('foo');
- expect(e.getAttribute('value')).toBe('foo');
- expect(e.getAttribute('defaultValue')).toBe(null);
- });
-
- itRenders(
- 'an input value overriding defaultValue no matter the prop order',
- async render => {
- const e = await render(
- ,
- 1,
- );
- expect(e.value).toBe('foo');
- expect(e.getAttribute('value')).toBe('foo');
- expect(e.getAttribute('defaultValue')).toBe(null);
- },
- );
- });
-
- describe('checkboxes', function() {
- itRenders('a checkbox that is checked with an onChange', async render => {
- const e = await render(
- {}} />,
- );
- expect(e.checked).toBe(true);
- });
-
- itRenders('a checkbox that is checked with readOnly', async render => {
- const e = await render(
- ,
- );
- expect(e.checked).toBe(true);
- });
-
- itRenders(
- 'a checkbox that is checked and no onChange/readOnly',
- async render => {
- // this configuration should raise a dev warning that checked without
- // onChange or readOnly is a mistake.
- const e = await render(, 1);
- expect(e.checked).toBe(true);
- },
- );
-
- itRenders('a checkbox with defaultChecked', async render => {
- const e = await render();
- expect(e.checked).toBe(true);
- expect(e.getAttribute('defaultChecked')).toBe(null);
- });
-
- itRenders(
- 'a checkbox checked overriding defaultChecked',
- async render => {
- const e = await render(
- ,
- 1,
- );
- expect(e.checked).toBe(true);
- expect(e.getAttribute('defaultChecked')).toBe(null);
- },
- );
-
- itRenders(
- 'a checkbox checked overriding defaultChecked no matter the prop order',
- async render => {
- const e = await render(
- ,
- 1,
- );
- expect(e.checked).toBe(true);
- expect(e.getAttribute('defaultChecked')).toBe(null);
- },
- );
- });
-
- describe('textareas', function() {
- // textareas
- // ---------
- itRenders('a textarea with a value and an onChange', async render => {
- const e = await render(