Mercurial > vim
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)) |