File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -69,3 +69,17 @@ def test_resizable():
6969 b .append (7 )
7070
7171test_resizable ()
72+
73+ def test_delitem ():
74+ a = b'abc'
75+ b = memoryview (a )
76+ assert_raises (TypeError , lambda : b .__delitem__ ())
77+ assert_raises (TypeError , lambda : b .__delitem__ (0 ))
78+ assert_raises (TypeError , lambda : b .__delitem__ (10 ))
79+ a = bytearray (b'abc' )
80+ b = memoryview (a )
81+ assert_raises (TypeError , lambda : b .__delitem__ ())
82+ assert_raises (TypeError , lambda : b .__delitem__ (1 ))
83+ assert_raises (TypeError , lambda : b .__delitem__ (12 ))
84+
85+ test_delitem ()
Original file line number Diff line number Diff line change @@ -362,6 +362,14 @@ impl PyMemoryView {
362362 self . pack_single ( pos, value, vm)
363363 }
364364
365+ #[ pymethod( magic) ]
366+ fn delitem ( & self , _needle : PyObjectRef , vm : & VirtualMachine ) -> PyResult < ( ) > {
367+ if self . desc . readonly {
368+ return Err ( vm. new_type_error ( "cannot modify read-only memory" . to_owned ( ) ) ) ;
369+ }
370+ Err ( vm. new_type_error ( "cannot delete memory" . to_owned ( ) ) )
371+ }
372+
365373 #[ pymethod( magic) ]
366374 fn setitem (
367375 zelf : PyRef < Self > ,
You can’t perform that action at this time.
0 commit comments