17 lines
790 B
Python
17 lines
790 B
Python
from types import SimpleNamespace
|
|
from unittest import TestCase
|
|
import numpy as np
|
|
from station.image_preview import jpeg_preview
|
|
|
|
|
|
class ImagePreviewTest(TestCase):
|
|
def test_padding_vector_and_invalid_buffers(self):
|
|
rgb=SimpleNamespace(encoding='rgb8',width=2,height=2,step=8,is_bigendian=False,data=(bytes([90,10,30])*2+b'xx')*2)
|
|
self.assertTrue(jpeg_preview(rgb).startswith(b'\xff\xd8'))
|
|
field=np.ones((4,4,2),np.float32)
|
|
msg=SimpleNamespace(encoding='32FC2',width=4,height=4,step=32,is_bigendian=False,data=field.tobytes())
|
|
self.assertTrue(jpeg_preview(msg).startswith(b'\xff\xd8'))
|
|
field[0,0,0]=np.nan;msg.data=field.tobytes()
|
|
self.assertIsNone(jpeg_preview(msg))
|
|
rgb.data=b'bad';self.assertIsNone(jpeg_preview(rgb))
|