Mercurial > vim
view src/testdir/test_random.vim @ 33225:52b121d4feb5 v9.0.1887
patch 9.0.1887: Vim9: class members are accessible via object
Commit: https://github.com/vim/vim/commit/23c92d93c1b877edf18881b715ad51ec26386c2e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Sep 9 11:33:29 2023 +0200
patch 9.0.1887: Vim9: class members are accessible via object
Problem: Vim9: class members are accessible via object
Solution: Disable class member variable access using an object
Class methods can be accessed only using the class name and cannot be
accessed using an object. To be consistent with this, do the same for
class member variables also. They can be accessed only using the class
name and not using an object.
closes: #13057
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 09 Sep 2023 11:45:06 +0200 |
parents | a267e07ded3b |
children |
line wrap: on
line source
" 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) call assert_equal(4284103975, rand(r)) call assert_equal(1001954530, rand(r)) call assert_equal(2701803082, rand(r)) call assert_equal(2658065534, rand(r)) call assert_equal(3104308804, rand(r)) let s = srand() " using /dev/urandom or used time, result is different each time call assert_notequal(s, srand()) call test_srand_seed(123456789) call assert_equal(4284103975, rand()) call assert_equal(1001954530, rand()) call test_srand_seed() call assert_fails('echo srand(1.2)', 'E805:') call assert_fails('echo srand([1])', 'E745:') call assert_fails('echo rand("burp")', 'E475:') 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() call rand() call garbagecollect() 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