summaryrefslogtreecommitdiff
path: root/Lib/test/test_array.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_array.py')
-rwxr-xr-xLib/test/test_array.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 98589a5c5b..6dff37c1cb 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -847,6 +847,23 @@ class FPTest(NumberTest):
class FloatTest(FPTest):
typecode = 'f'
minitemsize = 4
+
+ def test_byteswap(self):
+ a = array.array(self.typecode, self.example)
+ self.assertRaises(TypeError, a.byteswap, 42)
+ if a.itemsize in (1, 2, 4, 8):
+ b = array.array(self.typecode, self.example)
+ b.byteswap()
+ if a.itemsize==1:
+ self.assertEqual(a, b)
+ else:
+ # On alphas treating the byte swapped bit patters as
+ # floats/doubles results in floating point exceptions
+ # => compare the 8bit string values instead
+ self.assertNotEqual(a.tostring(), b.tostring())
+ b.byteswap()
+ self.assertEqual(a, b)
+
tests.append(FloatTest)
class DoubleTest(FPTest):