Browse Source

python: ... and compatibility with pybind11 < 2.6.2 as well.

next
Vladimír Vondruš 3 years ago
parent
commit
c0c78d83f5
  1. 4
      src/python/magnum/test/test_trade.py

4
src/python/magnum/test/test_trade.py

@ -105,6 +105,7 @@ class MeshData(unittest.TestCase):
# Creating a custom attribute # Creating a custom attribute
a = trade.MeshAttribute.CUSTOM(17) a = trade.MeshAttribute.CUSTOM(17)
self.assertTrue(a.is_custom) self.assertTrue(a.is_custom)
if hasattr(a, 'value'): # only since pybind11 2.6.2
self.assertEqual(a.value, 32768 + 17) self.assertEqual(a.value, 32768 + 17)
self.assertEqual(a.custom_value, 17) self.assertEqual(a.custom_value, 17)
self.assertEqual(a.name, "CUSTOM(17)") self.assertEqual(a.name, "CUSTOM(17)")
@ -115,6 +116,7 @@ class MeshData(unittest.TestCase):
# custom by all APIs # custom by all APIs
zero = trade.MeshAttribute.CUSTOM(0) zero = trade.MeshAttribute.CUSTOM(0)
self.assertTrue(zero.is_custom) self.assertTrue(zero.is_custom)
if hasattr(zero, 'value'): # only since pybind11 2.6.2
self.assertEqual(zero.value, 32768) self.assertEqual(zero.value, 32768)
self.assertEqual(zero.custom_value, 0) self.assertEqual(zero.custom_value, 0)
self.assertEqual(zero.name, "CUSTOM(0)") self.assertEqual(zero.name, "CUSTOM(0)")
@ -124,6 +126,7 @@ class MeshData(unittest.TestCase):
# Largest possible custom value # Largest possible custom value
largest = trade.MeshAttribute.CUSTOM(32767) largest = trade.MeshAttribute.CUSTOM(32767)
self.assertTrue(largest.is_custom) self.assertTrue(largest.is_custom)
if hasattr(largest, 'value'): # only since pybind11 2.6.2
self.assertEqual(largest.value, 65535) self.assertEqual(largest.value, 65535)
self.assertEqual(largest.custom_value, 32767) self.assertEqual(largest.custom_value, 32767)
@ -134,6 +137,7 @@ class MeshData(unittest.TestCase):
# Accessing properties on builtin values should still work as expected # Accessing properties on builtin values should still work as expected
b = trade.MeshAttribute.BITANGENT b = trade.MeshAttribute.BITANGENT
self.assertFalse(b.is_custom) self.assertFalse(b.is_custom)
if hasattr(b, 'value'): # only since pybind11 2.6.2
self.assertEqual(b.value, 3) self.assertEqual(b.value, 3)
with self.assertRaisesRegex(AttributeError, "not a custom value"): with self.assertRaisesRegex(AttributeError, "not a custom value"):
b.custom_value b.custom_value

Loading…
Cancel
Save