summaryrefslogtreecommitdiffstats
path: root/contrib/python/PyHamcrest/py2/patches/03-pr54.patch
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-09-12 19:44:46 +0300
committerrobot-piglet <[email protected]>2025-09-12 19:54:58 +0300
commita5dcddfc43f6cde670c34eb47acaf976b29b6ca1 (patch)
tree70830b8d95cb634f63a0ec20481167b950dc71f3 /contrib/python/PyHamcrest/py2/patches/03-pr54.patch
parentcece27fc38ca4f6b22360b2f33deef59c71f5b0e (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.patch58
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
+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