patch 8.2.2756: Vim9: blob index and slice not implemented yet
Problem: Vim9: blob index and slice not implemented yet.
Solution: Implement blob index and slice.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 0e0e34e..456b426 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1622,6 +1622,26 @@
assert_equal(g:blob_empty, 0z)
assert_equal(g:blob_one, 0z01)
assert_equal(g:blob_long, 0z0102.0304)
+
+ var testblob = 0z010203
+ assert_equal(0x01, testblob[0])
+ assert_equal(0x02, testblob[1])
+ assert_equal(0x03, testblob[-1])
+ assert_equal(0x02, testblob[-2])
+
+ assert_equal(0z01, testblob[0 : 0])
+ assert_equal(0z0102, testblob[0 : 1])
+ assert_equal(0z010203, testblob[0 : 2])
+ assert_equal(0z010203, testblob[0 : ])
+ assert_equal(0z0203, testblob[1 : ])
+ assert_equal(0z0203, testblob[1 : 2])
+ assert_equal(0z0203, testblob[1 : -1])
+ assert_equal(0z03, testblob[-1 : -1])
+ assert_equal(0z02, testblob[-2 : -2])
+
+ # blob slice accepts out of range
+ assert_equal(0z, testblob[3 : 3])
+ assert_equal(0z, testblob[0 : -4])
END
CheckDefAndScriptSuccess(lines)