patch 8.2.2107: Vim9: some errors not tested

Problem:    Vim9: some errors not tested.
Solution:   Add tests.  Fix getting the right error.
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 2f4c0d1..1b2daae 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -225,6 +225,45 @@
   END
 enddef
 
+def Test_assign_unpack()
+  var lines =<< trim END
+    var v1: number
+    var v2: number
+    [v1, v2] = [1, 2]
+    assert_equal(1, v1)
+    assert_equal(2, v2)
+  END
+  CheckDefAndScriptSuccess(lines)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = 
+  END
+  CheckDefFailure(lines, 'E1097:', 5)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = xxx
+  END
+  CheckDefFailure(lines, 'E1001:', 3)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = popup_clear()
+  END
+  CheckDefFailure(lines, 'E1031:', 3)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = ''
+  END
+  CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
+enddef
+
 def Test_assign_linebreak()
   var nr: number
   nr =
@@ -237,7 +276,7 @@
   assert_equal(12, nr)
   assert_equal(34, n2)
 
-  CheckDefFailure(["var x = #"], 'E1097:', 2)
+  CheckDefFailure(["var x = #"], 'E1097:', 3)
 enddef
 
 def Test_assign_index()