HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //lib/python3/dist-packages/twisted/python/test/test_win32.py
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Tests for L{twisted.python.win32}.
"""

from twisted.python import reflect, win32
from twisted.trial import unittest


class CommandLineQuotingTests(unittest.TestCase):
    """
    Tests for L{cmdLineQuote}.
    """

    def test_argWithoutSpaces(self) -> None:
        """
        Calling C{cmdLineQuote} with an argument with no spaces returns
        the argument unchanged.
        """
        self.assertEqual(win32.cmdLineQuote("an_argument"), "an_argument")

    def test_argWithSpaces(self) -> None:
        """
        Calling C{cmdLineQuote} with an argument containing spaces returns
        the argument surrounded by quotes.
        """
        self.assertEqual(win32.cmdLineQuote("An Argument"), '"An Argument"')

    def test_emptyStringArg(self) -> None:
        """
        Calling C{cmdLineQuote} with an empty string returns a quoted empty
        string.
        """
        self.assertEqual(win32.cmdLineQuote(""), '""')


class DeprecationTests(unittest.TestCase):
    """
    Tests for deprecated (Fake)WindowsError.
    """

    def test_deprecation_FakeWindowsError(self) -> None:
        """Importing C{FakeWindowsError} triggers a L{DeprecationWarning}."""

        self.assertWarns(
            DeprecationWarning,
            "twisted.python.win32.FakeWindowsError was deprecated in Twisted 21.2.0: "
            "Catch OSError and check presence of 'winerror' attribute.",
            reflect.__file__,
            lambda: reflect.namedAny("twisted.python.win32.FakeWindowsError"),
        )

    def test_deprecation_WindowsError(self) -> None:
        """Importing C{WindowsError} triggers a L{DeprecationWarning}."""

        self.assertWarns(
            DeprecationWarning,
            "twisted.python.win32.WindowsError was deprecated in Twisted 21.2.0: "
            "Catch OSError and check presence of 'winerror' attribute.",
            reflect.__file__,
            lambda: reflect.namedAny("twisted.python.win32.WindowsError"),
        )