diff options
| author | robot-piglet <[email protected]> | 2025-09-12 19:44:46 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-09-12 19:54:58 +0300 |
| commit | a5dcddfc43f6cde670c34eb47acaf976b29b6ca1 (patch) | |
| tree | 70830b8d95cb634f63a0ec20481167b950dc71f3 /contrib/python/PyHamcrest/py2/patches/03-pr54.patch | |
| parent | cece27fc38ca4f6b22360b2f33deef59c71f5b0e (diff) | |
Intermediate changes
commit_hash:b9c42152363ba9bd97cfbdad1f27de1c08347709
Diffstat (limited to 'contrib/python/PyHamcrest/py2/patches/03-pr54.patch')
| -rw-r--r-- | contrib/python/PyHamcrest/py2/patches/03-pr54.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/contrib/python/PyHamcrest/py2/patches/03-pr54.patch b/contrib/python/PyHamcrest/py2/patches/03-pr54.patch new file mode 100644 index 00000000000..a4ff77bf863 --- /dev/null +++ b/contrib/python/PyHamcrest/py2/patches/03-pr54.patch @@ -0,0 +1,58 @@ +From 178dba673b36e36ca4257ecc8f0590b81334775c Mon Sep 17 00:00:00 2001 +From: "[email protected]" <[email protected]> +Date: Mon, 11 May 2015 15:28:54 +0200 +Subject: [PATCH] Make instance_of work with tuple like isinstance and + unittest's assertIsInstance + +--- + hamcrest/core/core/isinstanceof.py | 11 ++++++++--- + hamcrest/core/helpers/wrap_matcher.py | 3 +++ + tests/hamcrest_unit_test/core/isinstanceof_test.py | 3 +++ + 3 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/hamcrest/core/core/isinstanceof.py b/hamcrest/core/core/isinstanceof.py +index c96fdf31..f8eb4a2f 100644 +--- a/hamcrest/core/core/isinstanceof.py ++++ b/hamcrest/core/core/isinstanceof.py +@@ -11,21 +11,26 @@ class IsInstanceOf(BaseMatcher): + + def __init__(self, expected_type): + if not is_matchable_type(expected_type): +- raise TypeError('IsInstanceOf requires type') ++ raise TypeError('IsInstanceOf requires type or a tuple of classes and types') + self.expected_type = expected_type + + def _matches(self, item): + return isinstance(item, self.expected_type) + + def describe_to(self, description): ++ try: ++ type_description = self.expected_type.__name__ ++ except AttributeError: ++ type_description = "one of %s" % ",".join(str(e) for e in self.expected_type) + description.append_text('an instance of ') \ +- .append_text(self.expected_type.__name__) ++ .append_text(type_description) + + + def instance_of(atype): + """Matches if object is an instance of, or inherits from, a given type. + +- :param atype: The type to compare against as the expected type. ++ :param atype: The type to compare against as the expected type or a tuple ++ of types. + + This matcher checks whether the evaluated object is an instance of + ``atype`` or an instance of any class that inherits from ``atype``. +diff --git a/hamcrest/core/helpers/wrap_matcher.py b/hamcrest/core/helpers/wrap_matcher.py +index 1ec9ab58..587ae4c6 100644 +--- a/hamcrest/core/helpers/wrap_matcher.py ++++ b/hamcrest/core/helpers/wrap_matcher.py +@@ -28,4 +28,7 @@ def is_matchable_type(expected_type): + if isinstance(expected_type, six.class_types): + return True + ++ if isinstance(expected_type, tuple) and all(map(is_matchable_type, expected_type)): ++ return True ++ + return False |
