1*df36514aSBram Moolenaar" Test for :execute, :while, :for and :if
2292eff0cSBram Moolenaar
3*df36514aSBram Moolenaarfunc Test_exec_while_if()
4292eff0cSBram Moolenaar  new
5292eff0cSBram Moolenaar
6292eff0cSBram Moolenaar  let i = 0
7292eff0cSBram Moolenaar  while i < 12
8292eff0cSBram Moolenaar    let i = i + 1
9292eff0cSBram Moolenaar    if has("ebcdic")
10292eff0cSBram Moolenaar      execute "normal o" . i . "\047"
11292eff0cSBram Moolenaar    else
12292eff0cSBram Moolenaar      execute "normal o" . i . "\033"
13292eff0cSBram Moolenaar    endif
14292eff0cSBram Moolenaar    if i % 2
15292eff0cSBram Moolenaar      normal Ax
16292eff0cSBram Moolenaar      if i == 9
17292eff0cSBram Moolenaar        break
18292eff0cSBram Moolenaar      endif
19292eff0cSBram Moolenaar      if i == 5
20292eff0cSBram Moolenaar        continue
21292eff0cSBram Moolenaar      else
22292eff0cSBram Moolenaar        let j = 9
23292eff0cSBram Moolenaar        while j > 0
24292eff0cSBram Moolenaar          if has("ebcdic")
25292eff0cSBram Moolenaar            execute "normal" j . "a" . j . "\x27"
26292eff0cSBram Moolenaar          else
27292eff0cSBram Moolenaar            execute "normal" j . "a" . j . "\x1b"
28292eff0cSBram Moolenaar          endif
29292eff0cSBram Moolenaar          let j = j - 1
30292eff0cSBram Moolenaar        endwhile
31292eff0cSBram Moolenaar      endif
32292eff0cSBram Moolenaar    endif
33292eff0cSBram Moolenaar    if i == 9
34292eff0cSBram Moolenaar      if has("ebcdic")
35292eff0cSBram Moolenaar        execute "normal Az\047"
36292eff0cSBram Moolenaar      else
37292eff0cSBram Moolenaar        execute "normal Az\033"
38292eff0cSBram Moolenaar      endif
39292eff0cSBram Moolenaar    endif
40292eff0cSBram Moolenaar  endwhile
41292eff0cSBram Moolenaar  unlet i j
42292eff0cSBram Moolenaar
43292eff0cSBram Moolenaar  call assert_equal(["",
44292eff0cSBram Moolenaar        \ "1x999999999888888887777777666666555554444333221",
45292eff0cSBram Moolenaar        \ "2",
46292eff0cSBram Moolenaar        \ "3x999999999888888887777777666666555554444333221",
47292eff0cSBram Moolenaar        \ "4",
48292eff0cSBram Moolenaar        \ "5x",
49292eff0cSBram Moolenaar        \ "6",
50292eff0cSBram Moolenaar        \ "7x999999999888888887777777666666555554444333221",
51292eff0cSBram Moolenaar        \ "8",
52292eff0cSBram Moolenaar        \ "9x"], getline(1, 10))
53*df36514aSBram Moolenaarendfunc
546d91bcb4SBram Moolenaar
556d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
56