@@ -0,0 +1,1450 @@
+# python lib%0Aimport os%0Afrom unittest.mock import Mock, call, patch%0A%0Aimport pytest%0Aimport tornado%0A%0A# local lib%0Afrom jupyterlab_git.git import Git%0A%0Afrom .testutils import FakeContentManager%0A%0A@pytest.mark.asyncio%0Aasync def test_changed_files_index():%0A    with patch(%22jupyterlab_git.git.execute%22) as mock_execute:%0A        # Given%0A        process_output = (%0A        %22A  notebook with spaces.ipynb%22,%0A        %22M  notebook with %CE%BB.ipynb%22,%0A        %22R  renamed_to_%CE%B8.py%22,%0A        %22originally_named_%CF%80.py%22,%0A        %22?? untracked.ipynb%22,%0A        )%0A%0A        expected_resonse = %5B%0A            %7B%22x%22: %22A%22, %22y%22: %22 %22, %22to%22: %22notebook with spaces.ipynb%22, %22from%22: %22notebook with spaces.ipynb%22%7D,%0A            %7B%22x%22: %22M%22, %22y%22: %22 %22, %22to%22: %22notebook with %CE%BB.ipynb%22, %22from%22: %22notebook with %CE%BB.ipynb%22%7D,%0A            %7B%22x%22: %22R%22, %22y%22: %22 %22, %22to%22: %22renamed_to_%CE%B8.py%22, %22from%22: %22originally_named_%CF%80.py%22%7D,%0A            %7B%22x%22: %22?%22, %22y%22: %22?%22, %22to%22: %22untracked.ipynb%22, %22from%22: %22untracked.ipynb%22%7D,%0A        %5D%0A        mock_execute.return_value = tornado.gen.maybe_future(%0A            (0, %22%5Cx00%22.join(process_output), %22%22)%0A%0A        )%0A%0A        # When%0A        actual_response = await Git(FakeContentManager(%22/bin%22)).status(%0A            current_path=%22test_curr_path%22%0A        )%0A%0A        # Then%0A        mock_execute.assert_called_once_with(%0A            %5B%22git%22, %22status%22, %22--porcelain%22 , %22-u%22, %22-z%22%5D, cwd=%22/bin/test_curr_path%22%0A        )%0A%0A        assert %7B%22code%22: 0, %22files%22: expected_resonse%7D == actual_response%0A

create test_status.py