1
0
forked from aniani/vim
Commit Graph

29 Commits

Author SHA1 Message Date
Yegappan Lakshmanan
22697b6179 patch 9.1.0364: tests: test_vim9_builtin is a bit slow
Problem:  tests: test_vim9_builtin is a bit slow
Solution: source tests from a buffer instead of
          writing and sourcing a file (Yegappan Lakshmanan)

closes: #14614

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:58:24 +02:00
Yegappan Lakshmanan
7f5202143b patch 9.1.0299: Vim9: return type not set for a lambda assigned to script var
Problem:  Vim9: return type not set for a lambda assigned to script var
          (Ernie Rael)
Solution: Correctly determine the return type (Yegappan Lakshmanan)

fixes: #14445
closes: #14473

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:18:19 +02:00
Yegappan Lakshmanan
c30a90d9b2 patch 9.0.1898: Vim9: restrict access to static vars
Problem:  Vim9: restrict access to static vars and methods
Solution: Class members are accesible only from the class where they are
          defined.

Based on the #13004 discussion, the following changes are made:

    1) Static variables and methods are accessible only using the class
       name and inside the class where they are defined.
    2) Static variables and methods can be used without the class name in
       the class where they are defined.
    3) Static variables of a super class are not copied to the sub class.
    4) A sub class can declare a class variable with the same name as the
       super class.
    5) When a method or member is found during compilation, use more
       specific error messages.

This aligns the Vim9 class variable/method implementation with the Dart
implementation.

Also while at it, ignore duplicate class and object methods.

The access level of an object method can however be changed in a
subclass.

For the tests, use the new CheckSourceFailure() function instead of the
CheckScriptFailure() function in the tests.

closes: #13086

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-15 20:14:55 +02:00
Bram Moolenaar
94722c5107 patch 9.0.1257: code style is not check in test scripts
Problem:    Code style is not check in test scripts.
Solution:   Add basic code style check for test files.
2023-01-28 19:19:03 +00:00
Bram Moolenaar
a749a42ed2 patch 8.2.4360: Vim9: allowing use of "s:" leads to inconsistencies
Problem:    Vim9: allowing use of "s:" leads to inconsistencies.
Solution:   Disallow using "s:" in Vim9 script at the script level.
2022-02-12 19:52:25 +00:00
Bram Moolenaar
62aec93bfd patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem:    Vim9: finding global function without g: prefix but not finding
            global variable is inconsistent.
Solution:   Require using g: for a global function.  Change the vim9.vim
            script into a Vim9 script with exports.  Fix that import in legacy
            script does not work.
2022-01-29 21:45:34 +00:00
Bram Moolenaar
080182216e patch 8.2.3872: Vim9: finddir() and uniq() return types can be more specific
Problem:    Vim9: finddir() and uniq() return types can be more specific.
Solution:   Adjust the return type.
2021-12-22 18:45:37 +00:00
Bram Moolenaar
fea43e44c0 patch 8.2.3856: Vim9: not enough tests
Problem:    Vim9: not enough tests.
Solution:   Run more expression tests also with Vim9. Fix an uncovered
            problem.
2021-12-19 21:34:05 +00:00
Bram Moolenaar
86b3ab4fa0 patch 8.2.3854: Vim9: inconsistent arguments for test functions
Problem:    Vim9: inconsistent arguments for test functions.
Solution:   When :def function and script have different arguments use a list
            with two items instead of a separate function.
2021-12-19 18:33:23 +00:00
Bram Moolenaar
88c89c7722 patch 8.2.3341: Vim9: function call aborted despite try/catch
Problem:    Vim9: function call aborted despite try/catch. (Naohiro Ono)
Solution:   Ignore error caught by try/catch. (closes #8755)
2021-08-14 14:01:05 +02:00
Bram Moolenaar
ef98257593 patch 8.2.3335: Vim9: not enough tests run with Vim9
Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function.  Fix that
            items(), keys() and values9) return zero for a NULL dict.
            Make join() return an empty string for a NULL list.  Make sort()
            return an empty list for a NULL list.
2021-08-12 19:27:57 +02:00
Bram Moolenaar
3e9c0b9608 patch 8.2.3333: Vim9: not enough tests run with Vim9
Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function.
2021-08-12 10:39:10 +02:00
Christian Brabandt
98703d7f6c patch 8.2.3045: minor typos
Problem:    Minor typos.
Solution:   Fix the typos. (Christian Brabandt, closes #8441)
2021-06-24 19:55:27 +02:00
Bram Moolenaar
0e3ff19196 patch 8.2.2765: Vim9: not all blob operations work
Problem:    Vim9: not all blob operations work.
Solution:   Run more tests also with Vim9 script and :def functions.  Fix what
            doesn't work.
2021-04-14 20:35:23 +02:00
Bram Moolenaar
68452177ca patch 8.2.2757: Vim9: blob tests for legacy and Vim9 script are separate
Problem:    Vim9: blob tests for legacy and Vim9 script are separate.
Solution:   Add CheckLegacyAndVim9Success().  Make blob index assign work.
2021-04-12 21:21:02 +02:00
Bram Moolenaar
90193e6140 patch 8.2.2710: Vim9: not all tests cover script and :def function
Problem:    Vim9: not all tests cover script and :def function.
Solution:   Run tests in both if possible. Fix differences.
2021-04-04 20:49:50 +02:00
Bram Moolenaar
c5f59fab23 patch 8.2.2381: Vim9: divide by zero does not abort expression execution
Problem:    Vim9: divide by zero does not abort expression execution.
Solution:   Use a "failed" flag. (issue #7704)
2021-01-21 12:34:14 +01:00
Bram Moolenaar
090728ad4d patch 8.2.2169: Vim9: test leaves file behind
Problem:    Vim9: test leaves file behind.
Solution:   Rename script files. (Dominique Pellé, closes #7511)
            Use try/finally.
2020-12-20 15:43:31 +01:00
Bram Moolenaar
2d870f8d9e patch 8.2.2092: Vim9: unpredictable errors for script tests
Problem:    Vim9: unpredictable errors for script tests.
Solution:   Use a different script file name for each run.
2020-12-05 13:41:01 +01:00
Bram Moolenaar
1310660557 patch 8.2.1798: Vim9: trinary operator condition is too permissive
Problem:    Vim9: trinary operator condition is too permissive.
Solution:   Use tv_get_bool_chk().
2020-10-04 16:06:05 +02:00
Bram Moolenaar
ba7c0d7b4c patch 8.2.1644: Vim9: cannot assign 1 and 0 to bool at script level
Problem:    Vim9: cannot assign 1 and 0 to bool at script level.
Solution:   Add the TTFLAG_BOOL_OK flag to the type. Fix name of test
            function.
2020-09-09 18:54:42 +02:00
Bram Moolenaar
2e80095501 patch 8.2.1518: Vim9: cannot assign to local option
Problem:    Vim9: cannot assign to local option.
Solution:   Skip over "&l:" and "&g:". (closes #6749)
2020-08-23 19:34:48 +02:00
Bram Moolenaar
7cb6fc29d0 patch 8.2.1504: Vim9: white space checks are only done for a :def function
Problem:    Vim9: white space checks are only done for a :def function.
Solution:   Also do checks at the script level.  Adjust the name of a few
            error messages.
2020-08-21 22:36:47 +02:00
Bram Moolenaar
3affe7a6c6 patch 8.2.1481: Vim9: line number reported with error may be wrong
Problem:    Vim9: line number reported with error may be wrong.
Solution:   Check line number in tests.
2020-08-18 20:34:13 +02:00
Bram Moolenaar
1d634542cf patch 8.2.1479: Vim9: error for list index uses wrong line number
Problem:    Vim9: error for list index uses wrong line number.
Solution:   Set source line number. (closes #6724)  Add a way to assert the
            line number of the error with assert_fails().
2020-08-18 13:41:50 +02:00
Bram Moolenaar
3e06a1e2a8 patch 8.2.1416: Vim9: boolean evaluation does not work as intended
Problem:    Vim9: boolean evaluation does not work as intended.
Solution:   Use tv2bool() in Vim9 script. (closes #6681)
2020-08-10 21:57:54 +02:00
Bram Moolenaar
822ba24743 patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem:    Vim9: using a discovery phase doesn't work well.
Solution:   Remove the discovery phase, instead compile a function only when
            it is used.  Add :defcompile to compile def functions earlier.
2020-05-24 23:00:18 +02:00
Bram Moolenaar
015f4267f4 patch 8.2.0699: Vim9: not all errors tested
Problem:    Vim9: not all errors tested.
Solution:   Add test for deleted function.  Bail out on first error.
2020-05-05 21:25:22 +02:00
Bram Moolenaar
cfe435d7fe patch 8.2.0640: Vim9: expanding does not work
Problem:    Vim9: expanding  does not work.
Solution:   Find wildcards in not compiled commands.  Reorganize test files.
2020-04-25 20:02:55 +02:00