From 2d537d3b10353bcb75228dc29550821abb02de88 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Wed, 21 Sep 2022 13:23:33 +0100 Subject: [PATCH] Correctly get language Operator precedence is important --- website/contrib/code_block/blocks.py | 2 +- website/contrib/code_block/tests.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/website/contrib/code_block/blocks.py b/website/contrib/code_block/blocks.py index 5f81942..81423a7 100644 --- a/website/contrib/code_block/blocks.py +++ b/website/contrib/code_block/blocks.py @@ -32,7 +32,7 @@ class CodeStructValue(StructValue): if filename := self["filename"]: return filename - if language := self["language"] and self["language"] != TextLexer.name: + if (language := self["language"]) != TextLexer.name: return language return "" diff --git a/website/contrib/code_block/tests.py b/website/contrib/code_block/tests.py index cb08576..66ac346 100644 --- a/website/contrib/code_block/tests.py +++ b/website/contrib/code_block/tests.py @@ -26,3 +26,15 @@ class CodeStructValueTestCase(SimpleTestCase): None, [("source", "test"), ("language", language)] ) self.assertIsInstance(block.code(), str) + + def test_header_text_uses_filename(self) -> None: + block = CodeStructValue(None, [("filename", "test.txt")]) + self.assertEqual(block.header_text(), "test.txt") + + def test_header_text_uses_language(self) -> None: + block = CodeStructValue(None, [("filename", ""), ("language", "Python")]) + self.assertEqual(block.header_text(), "Python") + + def test_header_text_empty_when_text(self) -> None: + block = CodeStructValue(None, [("filename", ""), ("language", "Text only")]) + self.assertEqual(block.header_text(), "")