patch 8.2.1263: Vim9: comperators use 'ignorecase' in Vim9 script
Problem: Vim9: comperators use 'ignorecase' in Vim9 script.
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
(closes #6497)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 4c9db5c..d6cbd03 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -651,7 +651,7 @@
vim9script
let var = 0
< 1
- assert_equal(1, var)
+ assert_equal(true, var)
END
CheckScriptSuccess(lines)
@@ -659,7 +659,7 @@
vim9script
let var = 123
!= 123
- assert_equal(0, var)
+ assert_equal(false, var)
END
CheckScriptSuccess(lines)
@@ -667,7 +667,7 @@
vim9script
let var = 123 ==
123
- assert_equal(1, var)
+ assert_equal(true, var)
END
CheckScriptSuccess(lines)
@@ -676,7 +676,7 @@
let list = [1, 2, 3]
let var = list
is list
- assert_equal(1, var)
+ assert_equal(true, var)
END
CheckScriptSuccess(lines)
@@ -685,7 +685,7 @@
let myblob = 0z1234
let var = myblob
isnot 0z11
- assert_equal(1, var)
+ assert_equal(true, var)
END
CheckScriptSuccess(lines)
@@ -707,6 +707,25 @@
echo 123 is 123
END
CheckScriptFailure(lines, 'Cannot use "is" with number')
+
+ # check 'ignorecase' not being used
+ lines =<< trim END
+ vim9script
+ set ignorecase
+ assert_equal(false, 'abc' == 'ABC')
+ assert_equal(false, 'abc' ==# 'ABC')
+ assert_equal(true, 'abc' ==? 'ABC')
+
+ assert_equal(true, 'abc' != 'ABC')
+ assert_equal(true, 'abc' !=# 'ABC')
+ assert_equal(false, 'abc' !=? 'ABC')
+
+ assert_equal(false, 'abc' =~ 'ABC')
+ assert_equal(false, 'abc' =~# 'ABC')
+ assert_equal(true, 'abc' =~? 'ABC')
+ set noignorecase
+ END
+ CheckScriptSuccess(lines)
enddef
func Test_expr4_fails()