summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/core/tests/test_unicode.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/numpy/core/tests/test_unicode.py b/numpy/core/tests/test_unicode.py
index 9935b60ad..f2c501235 100644
--- a/numpy/core/tests/test_unicode.py
+++ b/numpy/core/tests/test_unicode.py
@@ -15,7 +15,17 @@ if sys.version_info[:2] >= (3, 3):
def buffer_length(arr):
if isinstance(arr, unicode):
arr = str(arr)
- return (sys.getsizeof(arr+"a") - sys.getsizeof(arr)) * len(arr)
+ if not arr:
+ charmax = 0
+ else:
+ charmax = max([ord(c) for c in arr])
+ if charmax < 256:
+ size = 1
+ elif charmax < 65536:
+ size = 2
+ else:
+ size = 4
+ return size * len(arr)
v = memoryview(arr)
if v.shape is None:
return len(v) * v.itemsize