patch 8.0.1523: cannot write and read terminal screendumps
Problem: Cannot write and read terminal screendumps.
Solution: Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
Also add assert_equalfile().
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index 29c8534..0de6ceb 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -25,6 +25,41 @@
call remove(v:errors, 0)
endfunc
+func Test_assert_equalfile()
+ call assert_equalfile('abcabc', 'xyzxyz')
+ call assert_match("E485: Can't read file abcabc", v:errors[0])
+ call remove(v:errors, 0)
+
+ let goodtext = ["one", "two", "three"]
+ call writefile(goodtext, 'Xone')
+ call assert_equalfile('Xone', 'xyzxyz')
+ call assert_match("E485: Can't read file xyzxyz", v:errors[0])
+ call remove(v:errors, 0)
+
+ call writefile(goodtext, 'Xtwo')
+ call assert_equalfile('Xone', 'Xtwo')
+
+ call writefile([goodtext[0]], 'Xone')
+ call assert_equalfile('Xone', 'Xtwo')
+ call assert_match("first file is shorter", v:errors[0])
+ call remove(v:errors, 0)
+
+ call writefile(goodtext, 'Xone')
+ call writefile([goodtext[0]], 'Xtwo')
+ call assert_equalfile('Xone', 'Xtwo')
+ call assert_match("second file is shorter", v:errors[0])
+ call remove(v:errors, 0)
+
+ call writefile(['1234X89'], 'Xone')
+ call writefile(['1234Y89'], 'Xtwo')
+ call assert_equalfile('Xone', 'Xtwo')
+ call assert_match("difference at byte 4", v:errors[0])
+ call remove(v:errors, 0)
+
+ call delete('Xone')
+ call delete('Xtwo')
+endfunc
+
func Test_assert_notequal()
let n = 4
call assert_notequal('foo', n)