patch 8.0.1510: cannot test if a command causes a beep

Problem:    Cannot test if a command causes a beep.
Solution:   Add assert_beeps().
diff --git a/src/eval.c b/src/eval.c
index 2c93e4e..b1f7a86 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -8942,6 +8942,29 @@
 }
 
     void
+assert_beeps(typval_T *argvars)
+{
+    char_u	*cmd = get_tv_string_chk(&argvars[0]);
+    garray_T	ga;
+
+    called_vim_beep = FALSE;
+    suppress_errthrow = TRUE;
+    emsg_silent = FALSE;
+    do_cmdline_cmd(cmd);
+    if (!called_vim_beep)
+    {
+	prepare_assert_error(&ga);
+	ga_concat(&ga, (char_u *)"command did not beep: ");
+	ga_concat(&ga, cmd);
+	assert_error(&ga);
+	ga_clear(&ga);
+    }
+
+    suppress_errthrow = FALSE;
+    emsg_on_display = FALSE;
+}
+
+    void
 assert_fails(typval_T *argvars)
 {
     char_u	*cmd = get_tv_string_chk(&argvars[0]);