From b769fc08a47ace31d968090c740abb6294ba370c Mon Sep 17 00:00:00 2001 From: Muszic Date: Wed, 2 Sep 2026 16:13:49 +0530 Subject: [PATCH] Preserve UTF-8 strings in JSON output --- googletest/src/gtest.cc | 2 +- googletest/test/googletest-json-output-unittest.py | 4 ++-- googletest/test/gtest_xml_output_unittest.py | 2 +- googletest/test/gtest_xml_output_unittest_.cc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc index 47c60da2..69059721 100644 --- a/googletest/src/gtest.cc +++ b/googletest/src/gtest.cc @@ -4648,7 +4648,7 @@ std::string JsonUnitTestResultPrinter::EscapeJson(const std::string& str) { m << "\\r"; break; default: - if (ch < ' ') { + if (static_cast(ch) < ' ') { m << "\\u00" << String::FormatByte(static_cast(ch)); } else { m << ch; diff --git a/googletest/test/googletest-json-output-unittest.py b/googletest/test/googletest-json-output-unittest.py index c75051c8..c938b346 100644 --- a/googletest/test/googletest-json-output-unittest.py +++ b/googletest/test/googletest-json-output-unittest.py @@ -336,7 +336,7 @@ EXPECTED_NON_EMPTY = { 'time': '*', 'timestamp': '*', 'classname': 'PropertyRecordingTest', - 'key_1': '1', + 'key_1': 'caf\u00e9 \u4e2d', }, { 'name': 'IntValuedProperty', @@ -878,7 +878,7 @@ class GTestJsonOutputUnitTest(gtest_test_utils.TestCase): 'the expected exit code %s.' % (command, p.exit_code, expected_exit_code), ) - with open(json_path) as f: + with open(json_path, encoding='utf-8') as f: actual = json.load(f) return actual diff --git a/googletest/test/gtest_xml_output_unittest.py b/googletest/test/gtest_xml_output_unittest.py index 87a7683a..ee9dee2b 100755 --- a/googletest/test/gtest_xml_output_unittest.py +++ b/googletest/test/gtest_xml_output_unittest.py @@ -144,7 +144,7 @@ It is good practice to tell why you skip a test. - + diff --git a/googletest/test/gtest_xml_output_unittest_.cc b/googletest/test/gtest_xml_output_unittest_.cc index fe196b63..097be1de 100644 --- a/googletest/test/gtest_xml_output_unittest_.cc +++ b/googletest/test/gtest_xml_output_unittest_.cc @@ -123,7 +123,7 @@ class PropertyRecordingTest : public Test { }; TEST_F(PropertyRecordingTest, OneProperty) { - RecordProperty("key_1", "1"); + RecordProperty("key_1", "caf\xC3\xA9 \xE4\xB8\xAD"); } TEST_F(PropertyRecordingTest, IntValuedProperty) {