__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Hamcrest matchers useful throughout the test suite.
"""

from typing import IO, Callable, Optional, TypeVar

from hamcrest.core.base_matcher import BaseMatcher
from hamcrest.core.description import Description
from hamcrest.core.matcher import Matcher

from twisted.python.filepath import IFilePath
from twisted.python.reflect import fullyQualifiedName

_A = TypeVar("_A")
_B = TypeVar("_B")


class _MatchAfter(BaseMatcher[_A]):
    """
    The implementation of L{after}.

    @ivar f: The function to apply.
    @ivar m: The matcher to use on the result.

    @ivar _e: After trying to apply the function fails with an exception, the
        exception that was raised.  This can later be used by
        L{describe_mismatch}.
    """

    def __init__(self, f: Callable[[_A], _B], m: Matcher[_B]) -> None:
        self.f = f
        self.m = m
        self._e: Optional[Exception] = None

    def _matches(self, item: _A) -> bool:
        """
        Apply the function and delegate matching on the result.
        """
        try:
            transformed = self.f(item)
        except Exception as e:
            self._e = e
            return False
        else:
            return self.m.matches(transformed)

    def describe_mismatch(self, item: _A, mismatch_description: Description) -> None:
        """
        Describe the mismatching item or the exception that occurred while
        pre-processing it.

        @note: Since the exception reporting here depends on mutable state it
            will only work as long as PyHamcrest calls methods in the right
            order.  The PyHamcrest Matcher interface doesn't seem to allow
            implementing this functionality in a more reliable way (see the
            implementation of L{assert_that}).
        """
        if self._e is None:
            super().describe_mismatch(item, mismatch_description)
        else:
            mismatch_description.append_text(
                f"{fullyQualifiedName(self.f)}({item!r}) raised\n"
                f"{fullyQualifiedName(self._e.__class__)}: {self._e}"
            )

    def describe_to(self, description: Description) -> None:
        """
        Create a text description of the match requirement.
        """
        description.append_text(f"[after {self.f}] ")
        self.m.describe_to(description)


def after(f: Callable[[_A], _B], m: Matcher[_B]) -> Matcher[_A]:
    """
    Create a matcher which calls C{f} and uses C{m} to match the result.
    """
    return _MatchAfter(f, m)


def fileContents(m: Matcher[str], encoding: str = "utf-8") -> Matcher[IFilePath]:
    """
    Create a matcher which matches a L{FilePath} the contents of which are
    matched by L{m}.
    """

    def getContent(p: IFilePath) -> str:
        f: IO[bytes]
        with p.open() as f:
            return f.read().decode(encoding)

    return after(getContent, m)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 1.68 KB 0644
detests.py File 5.63 KB 0644
erroneous.py File 6.44 KB 0644
matchers.py File 2.88 KB 0644
mockcustomsuite.py File 544 B 0644
mockcustomsuite2.py File 541 B 0644
mockcustomsuite3.py File 684 B 0644
mockdoctest.py File 2.36 KB 0644
moduleself.py File 178 B 0644
moduletest.py File 302 B 0644
novars.py File 182 B 0644
ordertests.py File 912 B 0644
packages.py File 4.54 KB 0644
pyunitcases.py File 3.1 KB 0644
sample.py File 2.13 KB 0644
scripttest.py File 457 B 0755
skipping.py File 5.99 KB 0644
suppression.py File 2.44 KB 0644
test_assertions.py File 59.39 KB 0644
test_asyncassertions.py File 2.49 KB 0644
test_deferred.py File 9.63 KB 0644
test_doctest.py File 1.76 KB 0644
test_keyboard.py File 3.96 KB 0644
test_loader.py File 23.95 KB 0644
test_log.py File 7.85 KB 0644
test_matchers.py File 2.97 KB 0644
test_output.py File 5.26 KB 0644
test_plugins.py File 1.43 KB 0644
test_pyunitcompat.py File 7.88 KB 0644
test_reporter.py File 56.44 KB 0644
test_runner.py File 31.5 KB 0644
test_script.py File 32.41 KB 0644
test_skip.py File 2.69 KB 0644
test_suppression.py File 5.77 KB 0644
test_testcase.py File 1.94 KB 0644
test_tests.py File 48.83 KB 0644
test_util.py File 21.65 KB 0644
test_warning.py File 18.4 KB 0644
weird.py File 675 B 0644
Filemanager