comparison src/testdir/test_blob.vim @ 25495:7144d2ffc86b v8.2.3284

patch 8.2.3284: no error for insert() or remove() changing a locked blob Commit: https://github.com/vim/vim/commit/80d7395dcfe96158428da6bb3d28a6eee1244e28 Author: Sean Dewar <seandewar@users.noreply.github.com> Date: Wed Aug 4 19:25:54 2021 +0200 patch 8.2.3284: no error for insert() or remove() changing a locked blob Problem: No error for insert() or remove() changing a locked blob. Solution: Check a blob is not locked before changing it. (Sean Dewar, closes #8696)
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Aug 2021 19:30:04 +0200
parents e8e2c4d33b9b
children 8d55e978f95b
comparison
equal deleted inserted replaced
25494:bdb60211e4d3 25495:7144d2ffc86b
426 let lines =<< trim END 426 let lines =<< trim END
427 VAR b = 0zDEADBEEF 427 VAR b = 0zDEADBEEF
428 call remove(test_null_blob(), 1, 2) 428 call remove(test_null_blob(), 1, 2)
429 END 429 END
430 call CheckLegacyAndVim9Failure(lines, 'E979:') 430 call CheckLegacyAndVim9Failure(lines, 'E979:')
431
432 let lines =<< trim END
433 let b = 0zDEADBEEF
434 lockvar b
435 call remove(b, 0)
436 unlockvar b
437 END
438 call CheckScriptFailure(lines, 'E741:')
439
440 " can only check at script level, not in a :def function
441 let lines =<< trim END
442 vim9script
443 var b = 0zDEADBEEF
444 lockvar b
445 remove(b, 0)
446 END
447 call CheckScriptFailure(lines, 'E741:')
431 endfunc 448 endfunc
432 449
433 func Test_blob_read_write() 450 func Test_blob_read_write()
434 let lines =<< trim END 451 let lines =<< trim END
435 VAR b = 0zDEADBEEF 452 VAR b = 0zDEADBEEF
541 558
542 let lines =<< trim END 559 let lines =<< trim END
543 insert(test_null_blob(), 0x33) 560 insert(test_null_blob(), 0x33)
544 END 561 END
545 call CheckDefExecAndScriptFailure(lines, 'E1131:') 562 call CheckDefExecAndScriptFailure(lines, 'E1131:')
563
564 let lines =<< trim END
565 let b = 0zDEADBEEF
566 lockvar b
567 call insert(b, 3)
568 unlockvar b
569 END
570 call CheckScriptFailure(lines, 'E741:')
571
572 let lines =<< trim END
573 vim9script
574 var b = 0zDEADBEEF
575 lockvar b
576 insert(b, 3)
577 END
578 call CheckScriptFailure(lines, 'E741:')
546 endfunc 579 endfunc
547 580
548 func Test_blob_reverse() 581 func Test_blob_reverse()
549 let lines =<< trim END 582 let lines =<< trim END
550 call assert_equal(0zEFBEADDE, reverse(0zDEADBEEF)) 583 call assert_equal(0zEFBEADDE, reverse(0zDEADBEEF))