patch 8.2.3335: Vim9: not enough tests run with Vim9

Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function.  Fix that
            items(), keys() and values9) return zero for a NULL dict.
            Make join() return an empty string for a NULL list.  Make sort()
            return an empty list for a NULL list.
diff --git a/src/dict.c b/src/dict.c
index 9ce6dda..dca0b9f 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -1209,11 +1209,12 @@
 	emsg(_(e_dictreq));
 	return;
     }
-    if ((d = argvars[0].vval.v_dict) == NULL)
-	return;
 
     if (rettv_list_alloc(rettv) == FAIL)
 	return;
+    if ((d = argvars[0].vval.v_dict) == NULL)
+	// empty dict behaves like an empty dict
+	return;
 
     todo = (int)d->dv_hashtab.ht_used;
     for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)