t4034/cpp: actually test that operator tokens are not split
commit1cf93847c1edf3128f3a2fd87db6a490470ce4ec
authorJohannes Sixt <j6t@kdbg.org>
Fri, 8 Oct 2021 19:09:53 +0000 (8 19:09 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 8 Oct 2021 20:04:07 +0000 (8 13:04 -0700)
tree186253928ba9c3ba5ba567640e8b6bedf174d695
parent106298f7f9cca4158a980de149ef217751e1f943
t4034/cpp: actually test that operator tokens are not split

8d96e7288f2b (t4034: bulk verify builtin word regex sanity, 2010-12-18)
added many tests with the intent to verify that operators consisting of
more than one symbol are kept together. These are tested by probing a
transition from, e.g., a!=b to x!=y, which results in the word-diff

  [-a-]{+x+}!=[-b-]{+y+}

But that proves only that the letters and operators are separate tokens.
To prove that != is an unseparable token, we have to probe a transition
from, e.g., a=b to a!=b having a word-diff

  a[-=-]{+!=+}b

that proves that the ! is not separate from the =.

In the post-image, add to or remove from operators a character that
turns it into another valid operator.

Change the identifiers used around operators such that the diff
algorithm does not have an incentive to match, e.g., a<b in one spot
in the pre-image with a<b elsewhere in the post-image.

Adjust the expected output to match the new differences. Notice that
there are some undesirable tokenizations around e, ., and -.  This will
be addressed in a later change.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4034/cpp/expect
t/t4034/cpp/post
t/t4034/cpp/pre