@@ -128,3 +128,29 @@ def test_associated_images(self):
128
128
# test __len__ and __iter__
129
129
self .assertEqual (len ([v for v in self .osr .associated_images ]),
130
130
len (self .osr .associated_images ))
131
+
132
+
133
+ class TestUnreadableSlide (unittest .TestCase ):
134
+ def setUp (self ):
135
+ self .osr = OpenSlide (file_path ('unreadable.svs' ))
136
+
137
+ def tearDown (self ):
138
+ self .osr .close ()
139
+
140
+ def test_read_bad_region (self ):
141
+ self .assertEqual (self .osr .properties ['openslide.vendor' ], 'aperio' )
142
+ self .assertRaises (OpenSlideError ,
143
+ lambda : self .osr .read_region ((0 , 0 ), 0 , (16 , 16 )))
144
+ # verify that errors are sticky
145
+ self .assertRaises (OpenSlideError ,
146
+ lambda : self .osr .properties ['openslide.vendor' ])
147
+
148
+ def test_read_bad_associated_image (self ):
149
+ self .assertEqual (self .osr .properties ['openslide.vendor' ], 'aperio' )
150
+ # Prints "JPEGLib: Bogus marker length." to stderr due to
151
+ # https://github.com/openslide/openslide/issues/36
152
+ self .assertRaises (OpenSlideError ,
153
+ lambda : self .osr .associated_images ['thumbnail' ])
154
+ # verify that errors are sticky
155
+ self .assertRaises (OpenSlideError ,
156
+ lambda : self .osr .properties ['openslide.vendor' ])
0 commit comments