From 20054df06eb3050f16cd2cee5b3df68849311726 Mon Sep 17 00:00:00 2001 From: Fabian Brosda Date: Mon, 16 Feb 2015 13:01:24 +0100 Subject: legacy test: migrate test 72 --- test/functional/legacy/072_undo_file_spec.lua | 101 ++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 test/functional/legacy/072_undo_file_spec.lua (limited to 'test') diff --git a/test/functional/legacy/072_undo_file_spec.lua b/test/functional/legacy/072_undo_file_spec.lua new file mode 100644 index 0000000000..0e2cc6a84e --- /dev/null +++ b/test/functional/legacy/072_undo_file_spec.lua @@ -0,0 +1,101 @@ +-- Tests for undo file. +-- Since this script is sourced we need to explicitly break changes up in +-- undo-able pieces. Do that by setting 'undolevels'. + +local helpers = require('test.functional.helpers') +local feed, insert, source = helpers.feed, helpers.insert, helpers.source +local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect + +describe('72', function() + setup(clear) + + it('is working', function() + insert([[ + 1111 ----- + 2222 ----- + + 123456789]]) + + -- Test 'undofile': first a simple one-line change. + execute('set visualbell') + execute('set ul=100 undofile nomore') + execute('e! Xtestfile') + feed('ggdGithis is one line:set ul=100') + execute('s/one/ONE/') + execute('set ul=100') + execute('w') + execute('bwipe!') + execute('e Xtestfile') + feed('u:.w! test.out') + + -- Test 'undofile', change in original file fails check. + execute('set noundofile') + execute('e! Xtestfile') + execute('s/line/Line/') + execute('w') + execute('set undofile') + execute('bwipe!') + execute('e Xtestfile') + ---- TODO: this beeps. + feed('u:.w >>test.out') + + -- Test 'undofile', add 10 lines, delete 6 lines, undo 3. + execute('set undofile') + feed('ggdGione') + feed('two') + feed('three') + feed('four') + feed('five') + feed('six') + feed('seven') + feed('eight') + feed('nine') + feed('ten:set ul=100') + feed('3Gdd:set ul=100') + feed('dd:set ul=100') + feed('dd:set ul=100') + feed('dd:set ul=100') + feed('dd:set ul=100') + feed('dd:set ul=100') + execute('w') + execute('bwipe!') + execute('e Xtestfile') + feed('uuu:w >>test.out') + + -- Test that reading the undofiles when setting undofile works. + execute('set noundofile ul=0') + feed('i') + feed('u:e! Xtestfile') + execute('set undofile ul=100') + feed('uuuuuu:w >>test.out') + + ---- Open the output to see if it meets the expections + execute('e! test.out') + + -- Assert buffer contents. + expect([[ + this is one line + this is ONE Line + one + two + six + seven + eight + nine + ten + one + two + three + four + five + six + seven + eight + nine + ten]]) + end) + + teardown(function() + os.remove('.Xtestfile.un~') + end) +end) -- cgit