From d4565cbed3663903412b6b374ebeb35cfb2f7112 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Thu, 6 Jan 2022 17:31:18 +0200 Subject: [PATCH] Don't inject javascript poll script if livereload is disabled (#2742) --- mkdocs/livereload/__init__.py | 2 +- mkdocs/tests/livereload_tests.py | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/mkdocs/livereload/__init__.py b/mkdocs/livereload/__init__.py index 37f4acc7..55554a40 100644 --- a/mkdocs/livereload/__init__.py +++ b/mkdocs/livereload/__init__.py @@ -244,7 +244,7 @@ class LiveReloadServer(socketserver.ThreadingMixIn, wsgiref.simple_server.WSGISe return [] return None # Not found - if file_path.endswith(".html"): + if self._watched_paths and file_path.endswith(".html"): with file: content = file.read() content = self._inject_js_into_html(content, epoch) diff --git a/mkdocs/tests/livereload_tests.py b/mkdocs/tests/livereload_tests.py index 7fca958d..62483b5b 100644 --- a/mkdocs/tests/livereload_tests.py +++ b/mkdocs/tests/livereload_tests.py @@ -277,6 +277,8 @@ class BuildTests(unittest.TestCase): ) def test_serves_modified_html(self, site_dir): with testing_server(site_dir) as server: + server.watch(site_dir) + headers, output = do_request(server, "GET /normal.html") self.assertRegex(output, fr"^hello{SCRIPT_REGEX}$") self.assertEqual(headers.get("content-type"), "text/html") @@ -296,14 +298,14 @@ class BuildTests(unittest.TestCase): def test_serves_directory_index(self, site_dir): with testing_server(site_dir) as server: headers, output = do_request(server, "GET /") - self.assertRegex(output, fr"^aaa{SCRIPT_REGEX}$") + self.assertRegex(output, r"^aaa$") self.assertEqual(headers["_status"], "200 OK") self.assertEqual(headers.get("content-type"), "text/html") self.assertEqual(headers.get("content-length"), str(len(output))) for path in "/foo/", "/foo/index.html": _, output = do_request(server, "GET /foo/") - self.assertRegex(output, fr"^bbb{SCRIPT_REGEX}$") + self.assertRegex(output, r"^bbb$") with self.assertLogs("mkdocs.livereload"): headers, _ = do_request(server, "GET /foo/index.html/") @@ -321,18 +323,18 @@ class BuildTests(unittest.TestCase): def test_serves_with_unicode_characters(self, site_dir): with testing_server(site_dir) as server: _, output = do_request(server, "GET /я.html") - self.assertRegex(output, fr"^aaa{SCRIPT_REGEX}$") + self.assertRegex(output, r"^aaa$") _, output = do_request(server, "GET /%D1%8F.html") - self.assertRegex(output, fr"^aaa{SCRIPT_REGEX}$") + self.assertRegex(output, r"^aaa$") with self.assertLogs("mkdocs.livereload"): headers, _ = do_request(server, "GET /%D1.html") self.assertEqual(headers["_status"], "404 Not Found") _, output = do_request(server, "GET /测试2/") - self.assertRegex(output, fr"^bbb{SCRIPT_REGEX}$") + self.assertRegex(output, r"^bbb$") _, output = do_request(server, "GET /%E6%B5%8B%E8%AF%952/index.html") - self.assertRegex(output, fr"^bbb{SCRIPT_REGEX}$") + self.assertRegex(output, r"^bbb$") @tempdir() def test_serves_polling_instantly(self, site_dir): @@ -431,11 +433,11 @@ class BuildTests(unittest.TestCase): def test_serves_from_mount_path(self, site_dir): with testing_server(site_dir, mount_path="/sub") as server: headers, output = do_request(server, "GET /sub/") - self.assertRegex(output, fr"^aaa{SCRIPT_REGEX}$") + self.assertRegex(output, r"^aaa$") self.assertEqual(headers.get("content-type"), "text/html") _, output = do_request(server, "GET /sub/sub/sub.html") - self.assertRegex(output, fr"^bbb{SCRIPT_REGEX}$") + self.assertRegex(output, r"^bbb$") with self.assertLogs("mkdocs.livereload"): headers, _ = do_request(server, "GET /sub/sub.html")