Teach check-large-files-added about git-lfs.  Reslves #82.
diff --git a/tests/check_added_large_files_test.py b/tests/check_added_large_files_test.py
index b49f118..caf3e68 100644
--- a/tests/check_added_large_files_test.py
+++ b/tests/check_added_large_files_test.py
@@ -1,6 +1,10 @@
 from __future__ import absolute_import
 from __future__ import unicode_literals
 
+import subprocess
+
+import pytest
+
 from pre_commit_hooks.check_added_large_files import find_large_added_files
 from pre_commit_hooks.check_added_large_files import main
 from pre_commit_hooks.util import cmd_output
@@ -62,3 +66,40 @@
 
         # Should fail with --maxkb
         assert main(argv=['--maxkb', '9', 'f.py']) == 1
+
+
+def has_gitlfs():
+    output = cmd_output('git', 'lfs', retcode=None, stderr=subprocess.STDOUT)
+    return 'git lfs status' in output
+
+
+xfailif_no_gitlfs = pytest.mark.xfail(
+    not has_gitlfs(), reason='This test requires git-lfs',
+)
+
+
+@xfailif_no_gitlfs
+def test_allows_gitlfs(temp_git_dir):  # pragma: no cover
+    with cwd(temp_git_dir):
+        # Work around https://github.com/github/git-lfs/issues/913
+        cmd_output('git', 'commit', '--allow-empty', '-m', 'foo')
+        cmd_output('git', 'lfs', 'install')
+        write_file('f.py', 'a' * 10000)
+        cmd_output('git', 'lfs', 'track', 'f.py')
+        cmd_output('git', 'add', '.')
+        # Should succeed
+        assert main(('--maxkb', '9', 'f.py')) == 0
+
+
+@xfailif_no_gitlfs
+def test_moves_with_gitlfs(temp_git_dir):  # pragma: no cover
+    with cwd(temp_git_dir):
+        cmd_output('git', 'lfs', 'install')
+        cmd_output('git', 'lfs', 'track', 'a.bin', 'b.bin')
+        # First add the file we're going to move
+        write_file('a.bin', 'a' * 10000)
+        cmd_output('git', 'add', '.')
+        cmd_output('git', 'commit', '-am', 'foo')
+        # Now move it and make sure the hook still succeeds
+        cmd_output('git', 'mv', 'a.bin', 'b.bin')
+        assert main(('--maxkb', '9', 'b.bin')) == 0