patch 7.4.1735
Problem:    It is not possible to only see part of the message history.  It is
            not possible to clear messages.
Solution:   Add a count to ":messages" and a clear argument. (Yasuhiro
            Matsumoto)
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
new file mode 100644
index 0000000..4d7e411
--- /dev/null
+++ b/src/testdir/test_messages.vim
@@ -0,0 +1,42 @@
+" Tests for :messages
+
+function Test_messages()
+  let oldmore = &more
+  try
+    set nomore
+
+    let arr = map(range(10), '"hello" . v:val')
+    for s in arr
+      echomsg s | redraw
+    endfor
+    let result = ''
+
+    redir => result
+    2messages | redraw
+    redir END
+
+    " get last two messages
+    let msg = split(result, "\n")[1:][-2:]
+    call assert_equal(["hello8", "hello9"], msg)
+
+    " clear messages without last one
+    1messages clear
+    redir => result
+    redraw | 1messages
+    redir END
+    " get last last message
+    let msg = split(result, "\n")[1:][-1:]
+    call assert_equal(['hello9'], msg)
+
+    " clear all messages
+    messages clear
+    redir => result
+    redraw | 1messages
+    redir END
+    " get last last message
+    let msg = split(result, "\n")[1:][-1:]
+    call assert_equal([], msg)
+  finally
+    let &more = oldmore
+  endtry
+endfunction