diff options
Diffstat (limited to 'src/nvim/testdir/test_random.vim')
-rw-r--r-- | src/nvim/testdir/test_random.vim | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/src/nvim/testdir/test_random.vim b/src/nvim/testdir/test_random.vim index 6d3f7dcfd9..5fdbfe9cd8 100644 --- a/src/nvim/testdir/test_random.vim +++ b/src/nvim/testdir/test_random.vim @@ -1,5 +1,8 @@ " Tests for srand() and rand() +source check.vim +source shared.vim + func Test_Rand() let r = srand(123456789) call assert_equal([1573771921, 319883699, 2742014374, 1324369493], r) @@ -9,18 +12,9 @@ func Test_Rand() call assert_equal(2658065534, rand(r)) call assert_equal(3104308804, rand(r)) - " Nvim does not support test_settime - " call test_settime(12341234) let s = srand() - if !has('win32') && filereadable('/dev/urandom') - " using /dev/urandom - call assert_notequal(s, srand()) - " else - " " using time() - " call assert_equal(s, srand()) - " call test_settime(12341235) - " call assert_notequal(s, srand()) - endif + " using /dev/urandom or used time, result is different each time + call assert_notequal(s, srand()) " Nvim does not support test_srand_seed " call test_srand_seed(123456789) @@ -33,13 +27,11 @@ func Test_Rand() endif call assert_fails('echo srand([1])', 'E745:') call assert_fails('echo rand("burp")', 'E475:') - call assert_fails('echo rand([1, 2, 3])', 'E475:') - call assert_fails('echo rand([[1], 2, 3, 4])', 'E475:') - call assert_fails('echo rand([1, [2], 3, 4])', 'E475:') - call assert_fails('echo rand([1, 2, [3], 4])', 'E475:') - call assert_fails('echo rand([1, 2, 3, [4]])', 'E475:') - - " call test_settime(0) + call assert_fails('echo rand([1, 2, 3])', 'E730:') + call assert_fails('echo rand([[1], 2, 3, 4])', 'E730:') + call assert_fails('echo rand([1, [2], 3, 4])', 'E730:') + call assert_fails('echo rand([1, 2, [3], 4])', 'E730:') + call assert_fails('echo rand([1, 2, 3, [4]])', 'E730:') endfunc func Test_issue_5587() @@ -48,4 +40,20 @@ func Test_issue_5587() call rand() endfunc +func Test_srand() + CheckNotGui + + let cmd = GetVimCommand() .. ' -V -es -c "echo rand()" -c qa!' + let bad = 0 + for _ in range(10) + echo cmd + let result1 = system(cmd) + let result2 = system(cmd) + if result1 ==# result2 + let bad += 1 + endif + endfor + call assert_inrange(0, 4, bad) +endfunc + " vim: shiftwidth=2 sts=2 expandtab |