From 822051c7db967ea8f34f04904bd805f4826114e8 Mon Sep 17 00:00:00 2001 From: kugesan1105 Date: Mon, 14 Oct 2024 15:49:46 +0530 Subject: [PATCH] fix : bug related to docstring and test added --- jac/jaclang/compiler/absyntree.py | 7 +++---- .../compiler/passes/main/tests/fixtures/fstrings.jac | 2 ++ jac/jaclang/tests/test_language.py | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/jac/jaclang/compiler/absyntree.py b/jac/jaclang/compiler/absyntree.py index 4f1ba5352..116c793ee 100644 --- a/jac/jaclang/compiler/absyntree.py +++ b/jac/jaclang/compiler/absyntree.py @@ -4278,10 +4278,9 @@ def lit_value(self) -> str: elif self.value.startswith(("'", '"')): repr_str = self.value.encode().decode("unicode_escape") if ( - self.value.startswith('"""') - and self.value.endswith('"""') - and not self.find_parent_of_type(FString) - ): + (self.value.startswith('"""') and self.value.endswith('"""')) + or (self.value.startswith("'''") and self.value.endswith("'''")) + ) and not self.find_parent_of_type(FString): return repr_str[3:-3] if (not self.find_parent_of_type(FString)) or ( not ( diff --git a/jac/jaclang/compiler/passes/main/tests/fixtures/fstrings.jac b/jac/jaclang/compiler/passes/main/tests/fixtures/fstrings.jac index be3ad2cbd..b824124ee 100644 --- a/jac/jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +++ b/jac/jaclang/compiler/passes/main/tests/fixtures/fstrings.jac @@ -42,6 +42,8 @@ with entry { len(f_s1), len(f_s2) ) ; """sdfsdf\nsdfsdfsdfsd dffgdfgd.""" ; + c1 = '''hello klkl"""'''; + print(c1) ; } can func() {; } diff --git a/jac/jaclang/tests/test_language.py b/jac/jaclang/tests/test_language.py index e24da0b13..beacfbecc 100644 --- a/jac/jaclang/tests/test_language.py +++ b/jac/jaclang/tests/test_language.py @@ -237,6 +237,7 @@ def test_fstring_multiple_quotation(self) -> None: self.assertEqual(stdout_value.split("\n")[0], "11 13 12 12 11 12 12") self.assertEqual(stdout_value.split("\n")[1], '12 12 """hello""" 18 18') self.assertEqual(stdout_value.split("\n")[2], "11 12 11 12 11 18 23") + self.assertEqual(stdout_value.split("\n")[3], 'hello klkl"""') def test_deep_imports(self) -> None: """Parse micro jac file."""