Add a new hook to forbid new submodules
diff --git a/tests/forbid_new_submodules_test.py b/tests/forbid_new_submodules_test.py
new file mode 100644
index 0000000..1750e00
--- /dev/null
+++ b/tests/forbid_new_submodules_test.py
@@ -0,0 +1,39 @@
+from __future__ import absolute_import
+
+import pytest
+from pre_commit.util import cmd_output
+
+from pre_commit_hooks.forbid_new_submodules import main
+
+
+@pytest.yield_fixture
+def git_dir_with_git_dir(tmpdir):
+    with tmpdir.as_cwd():
+        cmd_output('git', 'init', '.')
+        cmd_output('git', 'commit', '-m', 'init', '--allow-empty')
+        cmd_output('git', 'init', 'foo')
+        with tmpdir.join('foo').as_cwd():
+            cmd_output('git', 'commit', '-m', 'init', '--allow-empty')
+        yield
+
+
+@pytest.mark.parametrize(
+    'cmd',
+    (
+        # Actually add the submodule
+        ('git', 'submodule', 'add', './foo'),
+        # Sneaky submodule add (that doesn't show up in .gitmodules)
+        ('git', 'add', 'foo'),
+    ),
+)
+def test_main_new_submodule(git_dir_with_git_dir, capsys, cmd):
+    cmd_output(*cmd)
+    assert main() == 1
+    out, _ = capsys.readouterr()
+    assert out.startswith('foo: new submodule introduced\n')
+
+
+def test_main_no_new_submodule(git_dir_with_git_dir):
+    open('test.py', 'a+').close()
+    cmd_output('git', 'add', 'test.py')
+    assert main() == 0