18767f52fSBram Moolenaar" Tests for large files
28767f52fSBram Moolenaar" This is only executed manually: "make test_largefile".
38767f52fSBram Moolenaar" This is not run as part of "make test".
48767f52fSBram Moolenaar
58767f52fSBram Moolenaarfunc Test_largefile()
68767f52fSBram Moolenaar  let fname = 'Xlarge.txt'
78767f52fSBram Moolenaar
88767f52fSBram Moolenaar  call delete(fname)
98767f52fSBram Moolenaar  exe "e" fname
108767f52fSBram Moolenaar  " Make sure that a line break is 1 byte (LF).
118767f52fSBram Moolenaar  set ff=unix
128767f52fSBram Moolenaar  set undolevels=-1
138767f52fSBram Moolenaar  " Input 99 'A's. The line becomes 100 bytes including a line break.
148767f52fSBram Moolenaar  exe "normal 99iA\<Esc>"
158767f52fSBram Moolenaar  yank
168767f52fSBram Moolenaar  " Put 39,999,999 times. The file becomes 4,000,000,000 bytes.
178767f52fSBram Moolenaar  normal 39999999p
188767f52fSBram Moolenaar  " Moving around in the file randomly.
198767f52fSBram Moolenaar  normal G
208767f52fSBram Moolenaar  normal 10%
218767f52fSBram Moolenaar  normal 90%
228767f52fSBram Moolenaar  normal 50%
238767f52fSBram Moolenaar  normal gg
248767f52fSBram Moolenaar  w
25c5af40aeSBram Moolenaar  " Check if the file size is 4,000,000,000 bytes.
268767f52fSBram Moolenaar  let fsize=getfsize(fname)
27c5af40aeSBram Moolenaar  call assert_true(fsize == 4000000000)
28c5af40aeSBram Moolenaar  call delete(fname)
298767f52fSBram Moolenaarendfunc
30*6d91bcb4SBram Moolenaar
31*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
32