Commit Graph

2 Commits

Author SHA1 Message Date
Daniel Shahaf
aa561299f2 'main': Parameter expansions may not contain assignments.
In «a="b=c"; $a», the '=' sign in the expansion of $a is not active.
Therefore, prevent the expansion of $a from being considered an
assignment.  Update test expectations accordingly.

As a side effect, this prevents line 836 from firing for the cases in
these two tests, thereby fixing the double $region_highlight addition
(see log message of the previous commit).  That leaves the line 966
addition.  However, the double addition remains a latent bug (see
discussion in PR #684).
2020-02-22 14:42:50 +00:00
Daniel Shahaf
2d0f51b54e WIP: tests: Add tests for issue #670.
They fail as follows:

    ZSH_PATCHLEVEL=debian/5.7.1-1
    Running test brackets
    Running test main
    # parameter-value-contains-command-position1
    1..2
    not ok 1 - [1,7] «$foobar» - expected (1 7 "assign"), observed (1 7 "unknown-token").
    ok 2 - cardinality check
    # parameter-value-contains-command-position2
    1..2
    not ok 1 - [1,2] «$y» - expected (1 2 "assign"), observed (1 2 "unknown-token").
    ok 2 - cardinality check

(The "unknown-token" was printed by the `_zsh_highlight_main_add_region_highlight`
call on line 967, after the loop.)

Before the parent commit, they behaved as follows (note the "BUG:" and
"Bail out!" on the first one — that's issue #670.2):

    ZSH_PATCHLEVEL=debian/5.7.1-1
    # parameter-value-contains-command-position1
    1..2
    ok 1 - [1,7] «$foobar» - # TODO "issue #670"
    not ok 2 - have 1 expectations and 6 region_highlight entries: «expected_region_highlight=( '1 7 assign "issue ♯670"' )» «region_highlight=( '0 7 assign' '2 7 default' '2 7 command-substitution-unquoted'
    zsh-syntax-highlighting: BUG: _zsh_highlight_highlighter_main_paint: start(2) >= end(2)
    Bail out! On './highlighters/main/test-data/parameter-value-contains-command-position2.zsh': output on stderr
    # parameter-value-contains-command-position2
    1..2
    ok 1 - [1,2] «$y» - # TODO "issue #670"
    ok 2 - cardinality check
2020-02-22 14:39:38 +00:00