Mercurial > vim
comparison src/testdir/test_vim9_func.vim @ 23072:4b398a229b0b v8.2.2082
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Commit: https://github.com/vim/vim/commit/e0de171ecd2ff7acd56deda2cf81f0d13a69c803
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 2 17:36:54 2020 +0100
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes https://github.com/vim/vim/issues/7406, closes https://github.com/vim/vim/issues/7405)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 02 Dec 2020 17:45:05 +0100 |
parents | 1fa84623fc68 |
children | cd885eb0e50c |
comparison
equal
deleted
inserted
replaced
23071:20dac5998fa6 | 23072:4b398a229b0b |
---|---|
28 enddef | 28 enddef |
29 defcompile | 29 defcompile |
30 END | 30 END |
31 call writefile(lines, 'XTest_compile_error') | 31 call writefile(lines, 'XTest_compile_error') |
32 var buf = RunVimInTerminal('-S XTest_compile_error', | 32 var buf = RunVimInTerminal('-S XTest_compile_error', |
33 #{rows: 10, wait_for_ruler: 0}) | 33 {rows: 10, wait_for_ruler: 0}) |
34 var text = '' | 34 var text = '' |
35 for loop in range(100) | 35 for loop in range(100) |
36 text = '' | 36 text = '' |
37 for i in range(1, 9) | 37 for i in range(1, 9) |
38 text ..= term_getline(buf, i) | 38 text ..= term_getline(buf, i) |
836 | 836 |
837 var dictvar = {} | 837 var dictvar = {} |
838 def DictFunc(arg: dict<number>) | 838 def DictFunc(arg: dict<number>) |
839 dictvar = arg | 839 dictvar = arg |
840 enddef | 840 enddef |
841 {'a': 1, 'b': 2}->DictFunc() | 841 {a: 1, b: 2}->DictFunc() |
842 dictvar->assert_equal(#{a: 1, b: 2}) | 842 dictvar->assert_equal({a: 1, b: 2}) |
843 def CompiledDict() | 843 def CompiledDict() |
844 {'a': 3, 'b': 4}->DictFunc() | 844 {a: 3, b: 4}->DictFunc() |
845 enddef | 845 enddef |
846 CompiledDict() | 846 CompiledDict() |
847 dictvar->assert_equal(#{a: 3, b: 4}) | 847 dictvar->assert_equal({a: 3, b: 4}) |
848 | 848 |
849 #{a: 3, b: 4}->DictFunc() | 849 {a: 3, b: 4}->DictFunc() |
850 dictvar->assert_equal(#{a: 3, b: 4}) | 850 dictvar->assert_equal({a: 3, b: 4}) |
851 | 851 |
852 ('text')->MyFunc() | 852 ('text')->MyFunc() |
853 name->assert_equal('text') | 853 name->assert_equal('text') |
854 ("some")->MyFunc() | 854 ("some")->MyFunc() |
855 name->assert_equal('some') | 855 name->assert_equal('some') |
1270 endtry | 1270 endtry |
1271 | 1271 |
1272 lines =<< trim END | 1272 lines =<< trim END |
1273 vim9script | 1273 vim9script |
1274 def Func() | 1274 def Func() |
1275 var db = #{foo: 1, bar: 2} | 1275 var db = {foo: 1, bar: 2} |
1276 # comment | 1276 # comment |
1277 var x = db.asdf | 1277 var x = db.asdf |
1278 enddef | 1278 enddef |
1279 defcompile | 1279 defcompile |
1280 Func() | 1280 Func() |
1605 return true | 1605 return true |
1606 endif | 1606 endif |
1607 return popup_filter_menu(winid, key) | 1607 return popup_filter_menu(winid, key) |
1608 enddef | 1608 enddef |
1609 | 1609 |
1610 popup_create('popup', #{filter: Filter}) | 1610 popup_create('popup', {filter: Filter}) |
1611 feedkeys("o\r", 'xnt') | 1611 feedkeys("o\r", 'xnt') |
1612 END | 1612 END |
1613 CheckScriptSuccess(lines) | 1613 CheckScriptSuccess(lines) |
1614 enddef | 1614 enddef |
1615 | 1615 |
1637 mkdir('XclosureDir/tdir', 'p') | 1637 mkdir('XclosureDir/tdir', 'p') |
1638 writefile(['111'], 'XclosureDir/file1') | 1638 writefile(['111'], 'XclosureDir/file1') |
1639 writefile(['222'], 'XclosureDir/file2') | 1639 writefile(['222'], 'XclosureDir/file2') |
1640 writefile(['333'], 'XclosureDir/tdir/file3') | 1640 writefile(['333'], 'XclosureDir/tdir/file3') |
1641 | 1641 |
1642 TreeWalk('XclosureDir')->assert_equal(['file1', 'file2', {'tdir': ['file3']}]) | 1642 TreeWalk('XclosureDir')->assert_equal(['file1', 'file2', {tdir: ['file3']}]) |
1643 | 1643 |
1644 delete('XclosureDir', 'rf') | 1644 delete('XclosureDir', 'rf') |
1645 enddef | 1645 enddef |
1646 | 1646 |
1647 def Test_invalid_function_name() | 1647 def Test_invalid_function_name() |
1670 CheckScriptFailure(lines, 'E488:') | 1670 CheckScriptFailure(lines, 'E488:') |
1671 enddef | 1671 enddef |
1672 | 1672 |
1673 def Test_partial_call() | 1673 def Test_partial_call() |
1674 var Xsetlist = function('setloclist', [0]) | 1674 var Xsetlist = function('setloclist', [0]) |
1675 Xsetlist([], ' ', {'title': 'test'}) | 1675 Xsetlist([], ' ', {title: 'test'}) |
1676 getloclist(0, {'title': 1})->assert_equal({'title': 'test'}) | 1676 getloclist(0, {title: 1})->assert_equal({title: 'test'}) |
1677 | 1677 |
1678 Xsetlist = function('setloclist', [0, [], ' ']) | 1678 Xsetlist = function('setloclist', [0, [], ' ']) |
1679 Xsetlist({'title': 'test'}) | 1679 Xsetlist({title: 'test'}) |
1680 getloclist(0, {'title': 1})->assert_equal({'title': 'test'}) | 1680 getloclist(0, {title: 1})->assert_equal({title: 'test'}) |
1681 | 1681 |
1682 Xsetlist = function('setqflist') | 1682 Xsetlist = function('setqflist') |
1683 Xsetlist([], ' ', {'title': 'test'}) | 1683 Xsetlist([], ' ', {title: 'test'}) |
1684 getqflist({'title': 1})->assert_equal({'title': 'test'}) | 1684 getqflist({title: 1})->assert_equal({title: 'test'}) |
1685 | 1685 |
1686 Xsetlist = function('setqflist', [[], ' ']) | 1686 Xsetlist = function('setqflist', [[], ' ']) |
1687 Xsetlist({'title': 'test'}) | 1687 Xsetlist({title: 'test'}) |
1688 getqflist({'title': 1})->assert_equal({'title': 'test'}) | 1688 getqflist({title: 1})->assert_equal({title: 'test'}) |
1689 | 1689 |
1690 var Len: func: number = function('len', ['word']) | 1690 var Len: func: number = function('len', ['word']) |
1691 assert_equal(4, Len()) | 1691 assert_equal(4, Len()) |
1692 enddef | 1692 enddef |
1693 | 1693 |