patch 8.2.1412: Vim: not operator does not result in boolean

Problem:    Vim: not operator does not result in boolean.
Solution:   Make type depend on operator. (issue 6678)  Fix using "false" and
            "true" in Vim9 script.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 0af5402..aa59973 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1313,6 +1313,16 @@
   assert_equal(g:special_false, false)
   assert_equal(g:special_true, v:true)
   assert_equal(g:special_false, v:false)
+
+  assert_equal(true, !false)
+  assert_equal(false, !true)
+  assert_equal(true, !0)
+  assert_equal(false, !1)
+  assert_equal(false, !!false)
+  assert_equal(true, !!true)
+  assert_equal(false, !!0)
+  assert_equal(true, !!1)
+
   assert_equal(g:special_null, v:null)
   assert_equal(g:special_none, v:none)
 
@@ -1332,6 +1342,14 @@
       assert_equal(true, t)
       assert_equal(v:false, false)
       assert_equal(false, f)
+      assert_equal(true, !false)
+      assert_equal(false, !true)
+      assert_equal(true, !0)
+      assert_equal(false, !1)
+      assert_equal(false, !!false)
+      assert_equal(true, !!true)
+      assert_equal(false, !!0)
+      assert_equal(true, !!1)
   END
   CheckScriptSuccess(lines)
 enddef