diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 42d09fe..83153ad 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -4783,8 +4783,6 @@
   if has('channel')
     assert_equal('channel', test_null_channel()->typename())
   endif
-  assert_equal('class<Unknown>', typename(null_class))
-  assert_equal('object<Unknown>', typename(null_object))
   var l: list<func(list<number>): number> = [function('min')]
   assert_equal('list<func(list<number>): number>', typename(l))
 enddef
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 0a48b82..0754af7 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -560,7 +560,7 @@
   END
   v9.CheckSourceSuccess(lines)
 
-  # Test for using a null class with string()
+  # Test for using a null class with type() and typename()
   lines =<< trim END
     vim9script
     assert_equal(12, type(null_class))
@@ -569,30 +569,6 @@
   v9.CheckSourceSuccess(lines)
 enddef
 
-def Test_using_null_object()
-  # Test for using a null object as a value
-  var lines =<< trim END
-    vim9script
-    assert_equal(1, empty(null_object))
-  END
-  v9.CheckSourceSuccess(lines)
-
-  # Test for using a null object with string()
-  lines =<< trim END
-    vim9script
-    assert_equal('object of [unknown]', string(null_object))
-  END
-  v9.CheckSourceSuccess(lines)
-
-  # Test for using a null object with string()
-  lines =<< trim END
-    vim9script
-    assert_equal(13, type(null_object))
-    assert_equal('object<Unknown>', typename(null_object))
-  END
-  v9.CheckSourceSuccess(lines)
-enddef
-
 def Test_class_interface_wrong_end()
   var lines =<< trim END
     vim9script
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index a3f21be..9ec92b3 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -5055,6 +5055,34 @@
   v9.CheckSourceSuccess(lines)
 enddef
 
+" Test for using various null values
+def Test_null_values()
+  var lines =<< trim END
+    var nullValues = [
+      [null, 1, 'null', 7, 'special'],
+      [null_blob, 1, '0z', 10, 'blob'],
+      [null_channel, 1, 'channel fail', 9, 'channel'],
+      [null_dict, 1, '{}', 4, 'dict<any>'],
+      [null_function, 1, "function('')", 2, 'func(...): unknown'],
+      [null_job, 1, 'no process', 8, 'job'],
+      [null_list, 1, '[]', 3, 'list<any>'],
+      [null_object, 1, 'object of [unknown]', 13, 'object<Unknown>'],
+      [null_partial, 1, "function('')", 2, 'func(...): unknown'],
+      [null_string, 1, "''", 1, 'string']
+    ]
+
+    for [Val, emptyExp, stringExp, typeExp, typenameExp] in nullValues
+      assert_equal(emptyExp, empty(Val))
+      assert_equal(stringExp, string(Val))
+      assert_equal(typeExp, type(Val))
+      assert_equal(typenameExp, typename(Val))
+      assert_equal(Val, copy(Val))
+      assert_equal(-1, test_refcount(Val))
+    endfor
+  END
+  v9.CheckSourceDefAndScriptSuccess(lines)
+enddef
+
 " Keep this last, it messes up highlighting.
 def Test_substitute_cmd()
   new
