patch 8.2.0348: Vim9: not all code tested

Problem:    Vim9: not all code tested.
Solution:   Add a few more tests. fix using "b:" in literal dictionary.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 1ec3c6f..d67c2d5 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -37,9 +37,9 @@
     assert_equal('one', 0.1 ? 'one' : 'two')
   endif
   assert_equal('one', 'x' ? 'one' : 'two')
-"  assert_equal('one', 0z1234 ? 'one' : 'two')
+  assert_equal('one', 0z1234 ? 'one' : 'two')
   assert_equal('one', [0] ? 'one' : 'two')
-"  assert_equal('one', #{x: 0} ? 'one' : 'two')
+  assert_equal('one', #{x: 0} ? 'one' : 'two')
   let var = 1
   assert_equal('one', var ? 'one' : 'two')
 
@@ -49,9 +49,9 @@
     assert_equal('two', 0.0 ? 'one' : 'two')
   endif
   assert_equal('two', '' ? 'one' : 'two')
-"  assert_equal('one', 0z ? 'one' : 'two')
+  assert_equal('two', 0z ? 'one' : 'two')
   assert_equal('two', [] ? 'one' : 'two')
-"  assert_equal('two', {} ? 'one' : 'two')
+  assert_equal('two', {} ? 'one' : 'two')
   var = 0
   assert_equal('two', var ? 'one' : 'two')
 enddef
@@ -447,6 +447,11 @@
   call CheckDefFailure("let x = [13] <= [88]", 'Cannot compare list with list')
   call CheckDefFailure("let x = [13] =~ [88]", 'Cannot compare list with list')
   call CheckDefFailure("let x = [13] !~ [88]", 'Cannot compare list with list')
+
+  call CheckDefFailureMult(['let j: job', 'let chan: channel', 'let r = j == chan'], 'Cannot compare job with channel')
+  call CheckDefFailureMult(['let j: job', 'let x: list<any>', 'let r = j == x'], 'Cannot compare job with list')
+  call CheckDefFailureMult(['let j: job', 'let x: func', 'let r = j == x'], 'Cannot compare job with func')
+  call CheckDefFailureMult(['let j: job', 'let x: partial', 'let r = j == x'], 'Cannot compare job with partial')
 endfunc
 
 " test addition, subtraction, concatenation
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index d5e42e8..a8950f0 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -68,6 +68,8 @@
 
   " type becomes list<any>
   let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
+  " type becomes dict<any>
+  let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'}
 
   g:newvar = 'new'
   assert_equal('new', g:newvar)
@@ -373,6 +375,7 @@
     g:imported_name = exp_name
     exp_name ..= ' Doe'
     g:imported_name_appended = exp_name
+    g:imported_later = exported
   END
 
   writefile(import_script_lines, 'Ximport.vim')
@@ -384,6 +387,7 @@
   assert_equal('bob', g:localname)
   assert_equal(9876, g:imported)
   assert_equal(9879, g:imported_added)
+  assert_equal(9879, g:imported_later)
   assert_equal('Exported', g:imported_func)
   assert_equal('John', g:imported_name)
   assert_equal('John Doe', g:imported_name_appended)
@@ -393,10 +397,30 @@
   unlet g:localname
   unlet g:imported
   unlet g:imported_added
+  unlet g:imported_later
   unlet g:imported_func
   unlet g:imported_name g:imported_name_appended
   delete('Ximport.vim')
 
+  let import_in_def_lines =<< trim END
+    vim9script
+    def ImportInDef()
+      import exported from './Xexport.vim'
+      g:imported = exported
+      exported += 7
+      g:imported_added = exported
+    enddef
+    ImportInDef()
+  END
+  writefile(import_in_def_lines, 'Ximport2.vim')
+  source Ximport2.vim
+  " TODO: this should be 9879
+  assert_equal(9876, g:imported)
+  assert_equal(9883, g:imported_added)
+  unlet g:imported
+  unlet g:imported_added
+  delete('Ximport2.vim')
+
   let import_star_as_lines =<< trim END
     vim9script
     import * as Export from './Xexport.vim'
@@ -407,7 +431,7 @@
   END
   writefile(import_star_as_lines, 'Ximport.vim')
   source Ximport.vim
-  assert_equal(9876, g:imported)
+  assert_equal(9883, g:imported)
 
   let import_star_lines =<< trim END
     vim9script