Mercurial > vim
annotate src/testdir/test_sleep.vim @ 26576:5ea6db641b5e v8.2.3817
patch 8.2.3817: Vim9: Not using NL as command end does not work for :autocmd
Commit: https://github.com/vim/vim/commit/f87dac04c351583241ea1c4ec4228516431e6f22
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 15 17:53:40 2021 +0000
patch 8.2.3817: Vim9: Not using NL as command end does not work for :autocmd
Problem: Vim9: Not using NL as command end does not work for :autocmd.
Solution: Only ignore NL for commands with an expression argument.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 15 Dec 2021 19:00:02 +0100 |
parents | 6d3dee0d7de5 |
children | 98774a275d6d |
rev | line source |
---|---|
23648
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test for sleep and sleep! commands |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 func! s:get_time_ms() |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 let timestr = reltimestr(reltime()) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 let dotidx = stridx(timestr, '.') |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 let sec = str2nr(timestr[:dotidx]) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 let msec = str2nr(timestr[dotidx + 1:]) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 return (sec * 1000) + (msec / 1000) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 endfunc |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 func! s:assert_takes_longer(cmd, time_ms) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 let start = s:get_time_ms() |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 execute a:cmd |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 let end = s:get_time_ms() |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 call assert_true(end - start >=# a:time_ms) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 endfun |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 func! Test_sleep_bang() |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 call s:assert_takes_longer('sleep 50m', 50) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 call s:assert_takes_longer('sleep! 50m', 50) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 call s:assert_takes_longer('sl 50m', 50) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 call s:assert_takes_longer('sl! 50m', 50) |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 call s:assert_takes_longer('1sleep', 1000) |
24101
6d3dee0d7de5
patch 8.2.2592: code coverage could be improved
Bram Moolenaar <Bram@vim.org>
parents:
23648
diff
changeset
|
24 call s:assert_takes_longer('normal 1gs', 1000) |
23648
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 endfunc |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 |
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 " vim: shiftwidth=2 sts=2 expandtab |