SF.net SVN: docutils:[9877 ] trunk/docutils

aa-turner--- via Docutils-checkins <[email protected]>
Newsgroups gmane.text.docutils.cvs
Message-ID <[email protected]>
Revision: 9877
          http://sourceforge.net/p/docutils/code/9877
Author:   aa-turner
Date:     2024-08-09 07:52:36 +0000 (Fri, 09 Aug 2024)
Log Message:
-----------
Move unused ``version_identifier()`` to a test helper

Modified Paths:
--------------
    trunk/docutils/docutils/utils/__init__.py
    trunk/docutils/test/test__init__.py
    trunk/docutils/test/test_utils/test__init__.py

Modified: trunk/docutils/docutils/utils/__init__.py
===================================================================
--- trunk/docutils/docutils/utils/__init__.py	2024-08-09 07:45:39 UTC (rev 9876)
+++ trunk/docutils/docutils/utils/__init__.py	2024-08-09 07:52:36 UTC (rev 9877)
@@ -20,7 +20,7 @@
 from pathlib import PurePath, Path
 from typing import TYPE_CHECKING
 
-from docutils import ApplicationError, DataError, __version_info__
+from docutils import ApplicationError, DataError
 from docutils import io, nodes
 # for backwards compatibility
 from docutils.nodes import unescape  # noqa: F401
@@ -31,7 +31,6 @@
 
     from typing_extensions import TypeAlias
 
-    from docutils import VersionInfo
     from docutils.nodes import Element, Text
     from docutils.frontend import Values
 
@@ -874,46 +873,3 @@
         except AttributeError:
             output_file = None
         return '%s(%r, %s)' % (self.__class__.__name__, output_file, self.list)
-
-
-release_level_abbreviations: dict[str, str] = {
-    'alpha': 'a',
-    'beta': 'b',
-    'candidate': 'rc',
-    'final': '',
-}
-
-
-def version_identifier(version_info: VersionInfo | None = None) -> str:
-    """
-    Return a version identifier string built from `version_info`, a
-    `docutils.VersionInfo` namedtuple instance or compatible tuple. If
-    `version_info` is not provided, by default return a version identifier
-    string based on `docutils.__version_info__` (i.e. the current Docutils
-    version).
-    """
-    if version_info is None:
-        version_info = __version_info__
-    if version_info.micro:
-        micro = '.%s' % version_info.micro
-    else:
-        # 0 is omitted:
-        micro = ''
-    releaselevel = release_level_abbreviations[version_info.releaselevel]
-    if version_info.serial:
-        serial = version_info.serial
-    else:
-        # 0 is omitted:
-        serial = ''
-    if version_info.release:
-        dev = ''
-    else:
-        dev = '.dev'
-    version = '%s.%s%s%s%s%s' % (
-        version_info.major,
-        version_info.minor,
-        micro,
-        releaselevel,
-        serial,
-        dev)
-    return version

Modified: trunk/docutils/test/test__init__.py
===================================================================
--- trunk/docutils/test/test__init__.py	2024-08-09 07:45:39 UTC (rev 9876)
+++ trunk/docutils/test/test__init__.py	2024-08-09 07:52:36 UTC (rev 9877)
@@ -8,6 +8,8 @@
 Test module for the docutils' __init__.py.
 """
 
+from __future__ import annotations
+
 from pathlib import Path
 import sys
 import unittest
@@ -22,6 +24,42 @@
 from docutils import VersionInfo
 
 
+_RELEASE_LEVEL_ABBREVIATIONS: dict[str, str] = {
+    'alpha': 'a',
+    'beta': 'b',
+    'candidate': 'rc',
+    'final': '',
+}
+
+
+def version_identifier(version_info: VersionInfo) -> str:
+    """
+    Return a version identifier string built from `version_info`, a
+    `docutils.VersionInfo` namedtuple instance or compatible tuple. If
+    `version_info` is not provided, by default return a version identifier
+    string based on `docutils.__version_info__` (i.e. the current Docutils
+    version).
+    """
+    if version_info.micro:
+        micro = f'.{version_info.micro}'
+    else:
+        # 0 is omitted:
+        micro = ''
+    releaselevel = _RELEASE_LEVEL_ABBREVIATIONS[version_info.releaselevel]
+    if version_info.serial:
+        serial = version_info.serial
+    else:
+        # 0 is omitted:
+        serial = ''
+    if version_info.release:
+        dev = ''
+    else:
+        dev = '.dev'
+    version = (f'{version_info.major}.{version_info.minor}{micro}'
+               f'{releaselevel}{serial}{dev}')
+    return version
+
+
 class ApplicationErrorTests(unittest.TestCase):
 
     def test_message(self):
@@ -73,7 +111,7 @@
     def test__version__(self):
         """Test that __version__ is equivalent to __version_info__."""
         self.assertEqual(
-            docutils.utils.version_identifier(docutils.__version_info__),
+            version_identifier(docutils.__version_info__),
             docutils.__version__, f'{docutils.__version_info__} differs')
 
     def test_version_info_comparing(self):
@@ -104,8 +142,7 @@
                         VersionInfo(0, 2, 0, 'final', 0, True),
                         ]
         # transform to version strings
-        versions = [docutils.utils.version_identifier(vinfo)
-                    for vinfo in versioninfos]
+        versions = [version_identifier(vinfo) for vinfo in versioninfos]
 
         # ensure version infos corresponding to the dev cycle are ascending
         self.assertEqual(versions, devcycle.split())

Modified: trunk/docutils/test/test_utils/test__init__.py
===================================================================
--- trunk/docutils/test/test_utils/test__init__.py	2024-08-09 07:45:39 UTC (rev 9876)
+++ trunk/docutils/test/test_utils/test__init__.py	2024-08-09 07:52:36 UTC (rev 9877)
@@ -19,9 +19,7 @@
     # so we import the local `docutils` package.
     sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
 
-import docutils
 from docutils import nodes, utils
-import docutils.utils.math
 
 TEST_ROOT = Path(__file__).parents[1]  # ./test/ from the docutils root
 
@@ -239,29 +237,6 @@
 
 
 class HelperFunctionTests(unittest.TestCase):
-
-    # Test conversion from `version information tuple` to a PEP 440 compliant
-    # Docutils version identifier.
-    # See 'Version Numbering' in docs/dev/policies.txt.
-    def test_version_identifier(self):
-        release_0_14_final = docutils.VersionInfo(
-            major=0, minor=14, micro=0,
-            releaselevel='final', serial=0, release=True)
-        self.assertEqual(utils.version_identifier(release_0_14_final), '0.14')
-        dev_0_15_beta = docutils.VersionInfo(
-            major=0, minor=15, micro=0,
-            releaselevel='beta', serial=0, release=False)
-        self.assertEqual(utils.version_identifier(dev_0_15_beta), '0.15b.dev')
-        release_0_14_rc1 = docutils.VersionInfo(
-            major=0, minor=14, micro=0,
-            releaselevel='candidate', serial=1, release=True)
-        self.assertEqual(utils.version_identifier(release_0_14_rc1), '0.14rc1')
-
-    def test_implicit_version_identifier(self):
-        self.assertEqual(
-            utils.version_identifier(docutils.__version_info__),
-            utils.version_identifier())
-
     def test_normalize_language_tag(self):
         self.assertEqual(utils.normalize_language_tag('de'), ['de'])
         self.assertEqual(utils.normalize_language_tag('de-AT'),

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.