patch 9.0.0438: cannot put virtual text above a line

Problem:    Cannot put virtual text above a line.
Solution:   Add the "above" value for "text_align".
diff --git a/src/testdir/dumps/Test_prop_with_text_above_1.dump b/src/testdir/dumps/Test_prop_with_text_above_1.dump
new file mode 100644
index 0000000..cc68f5e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_1.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| @42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| @41
+|o+0&#ffffff0|n|e| |t|w|o| @52
+|t|h|r>e@1| |f|o|u|r| @49
+|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| @46
+|f+0&#ffffff0|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|2|,|4| @10|A|l@1| 
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 21d751f..d89f84c 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2848,6 +2848,26 @@
   call delete('XscriptPropsBelowNowrap')
 endfunc
 
+func Test_props_with_text_above()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+      call setline(1, ['one two', 'three four', 'five six'])
+      call prop_type_add('above1', #{highlight: 'Search'})
+      call prop_type_add('above2', #{highlight: 'DiffChange'})
+      call prop_add(1, 0, #{type: 'above1', text: 'first thing above', text_align: 'above'})
+      call prop_add(1, 0, #{type: 'above2', text: 'second thing above', text_align: 'above'})
+      call prop_add(3, 0, #{type: 'above1', text: 'another thing', text_align: 'above'})
+
+      normal gglllj
+  END
+  call writefile(lines, 'XscriptPropsWithTextAbove', 'D')
+  let buf = RunVimInTerminal('-S XscriptPropsWithTextAbove', #{rows: 9, cols: 60})
+  call VerifyScreenDump(buf, 'Test_prop_with_text_above_1', {})
+
+  call StopVimInTerminal(buf)
+endfunc
+
 func Test_props_with_text_override()
   CheckRunVimInTerminal