From 8213a012660e86a76e8e2dd474504d66d6d3103f Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Fri, 28 Mar 2025 16:26:22 +0000 Subject: [PATCH 1/2] Add test --- Lib/test/test_tools/test_msgfmt.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Lib/test/test_tools/test_msgfmt.py b/Lib/test/test_tools/test_msgfmt.py index 55a10888c21f70..ca53b35648afa4 100644 --- a/Lib/test/test_tools/test_msgfmt.py +++ b/Lib/test/test_tools/test_msgfmt.py @@ -1,6 +1,7 @@ """Tests for the Tools/i18n/msgfmt.py tool.""" import json +import struct import sys import unittest from gettext import GNUTranslations @@ -40,6 +41,28 @@ def test_compilation(self): self.assertDictEqual(actual._catalog, expected._catalog) + def test_binary_header(self): + with open(data_dir / "general.mo", "rb") as f: + mo_data = f.read() + + ( + magic, + version, + num_strings, + orig_table_offset, + trans_table_offset, + hash_table_size, + hash_table_offset, + ) = struct.unpack("Iiiiiii", mo_data[:28]) + + self.assertEqual(magic, 0x950412de) + self.assertEqual(version, 0) + self.assertEqual(num_strings, 9) + self.assertEqual(orig_table_offset, 28) + self.assertEqual(trans_table_offset, 100) + self.assertEqual(hash_table_size, 0) + self.assertEqual(hash_table_offset, 0) + def test_translations(self): with open(data_dir / 'general.mo', 'rb') as f: t = GNUTranslations(f) From c005eb03c5137b966d6129b86c98b46ad987d768 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Fri, 28 Mar 2025 20:28:44 +0000 Subject: [PATCH 2/2] Tomas's feedback --- Lib/test/test_tools/test_msgfmt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_tools/test_msgfmt.py b/Lib/test/test_tools/test_msgfmt.py index ca53b35648afa4..dafac0562f472d 100644 --- a/Lib/test/test_tools/test_msgfmt.py +++ b/Lib/test/test_tools/test_msgfmt.py @@ -53,7 +53,7 @@ def test_binary_header(self): trans_table_offset, hash_table_size, hash_table_offset, - ) = struct.unpack("Iiiiiii", mo_data[:28]) + ) = struct.unpack("=Iiiiiii", mo_data[:28]) self.assertEqual(magic, 0x950412de) self.assertEqual(version, 0) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy