Skip to content

Commit 3e063de

Browse files
j6tgitster
authored andcommitted
t4034: add tests showing problematic cpp tokenizations
The word regex is too loose and matches long streaks of characters that should actually be separate tokens. Add these problematic test cases. Separate the lines with text that will remain identical in the pre- and post-image so that the diff algorithm will not lump removals and additions of consecutive lines together. This makes the expected output easier to read. Signed-off-by: Johannes Sixt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 1cf9384 commit 3e063de

File tree

3 files changed

+49
-7
lines changed

3 files changed

+49
-7
lines changed

t/t4034/cpp/expect

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
11
<BOLD>diff --git a/pre b/post<RESET>
2-
<BOLD>index c5672a2..4229868 100644<RESET>
2+
<BOLD>index 1229cdb..3feae6f 100644<RESET>
33
<BOLD>--- a/pre<RESET>
44
<BOLD>+++ b/post<RESET>
5-
<CYAN>@@ -1,16 +1,16 @@<RESET>
6-
Foo() : x(0<RED>&&1<RESET><GREEN>&42<RESET>) { <GREEN>bar(x);<RESET> }
5+
<CYAN>@@ -1,30 +1,30 @@<RESET>
6+
Foo() : x(0<RED>&&1<RESET><GREEN>&42<RESET>) { <RED>foo0<RESET><GREEN>bar<RESET>(x<RED>.f<RESET><GREEN>.F<RESET>ind); }
77
cout<<"Hello World<RED>!<RESET><GREEN>?<RESET>\n"<<endl;
8-
<GREEN>(<RESET>1<GREEN>) (<RESET>-1e10<GREEN>) (<RESET>0xabcdef<GREEN>)<RESET> '<RED>x<RESET><GREEN>y<RESET>'
8+
<GREEN>(<RESET>1 <RED>-1e10<RESET><GREEN>+1e10<RESET> 0xabcdef<GREEN>)<RESET> '<RED>x<RESET><GREEN>y<RESET>'
9+
// long double<RESET>
10+
<RED>3.141592653e-10l<RESET><GREEN>3.141592654e+10l<RESET>
11+
// float<RESET>
12+
120<RED>E5f<RESET><GREEN>E6f<RESET>
13+
// hex<RESET>
14+
<RED>0xdeadbeaf+8<RESET><GREEN>0xdeadBeaf+7<RESET>ULL
15+
// octal<RESET>
16+
<RED>01234567<RESET><GREEN>01234560<RESET>
17+
// binary<RESET>
18+
<RED>0b1000<RESET><GREEN>0b1100<RESET>+e1
19+
// expression<RESET>
20+
<RED>1.5-e+2+f<RESET><GREEN>1.5-e+3+f<RESET>
21+
// another one<RESET>
22+
str<RED>.e+65<RESET><GREEN>.e+75<RESET>
923
[a] b<RED>-><RESET><GREEN>->*<RESET>v d<RED>.e<RESET><GREEN>.*e<RESET>
1024
<GREEN>~<RESET>!a <GREEN>!<RESET>~b c<RED>++<RESET><GREEN>+<RESET> d<RED>--<RESET><GREEN>-<RESET> e*<GREEN>*<RESET>f g<RED>&<RESET><GREEN>&&<RESET>h
1125
a<RED>*<RESET><GREEN>*=<RESET>b c<RED>/<RESET><GREEN>/=<RESET>d e<RED>%<RESET><GREEN>%=<RESET>f

t/t4034/cpp/post

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1-
Foo() : x(0&42) { bar(x); }
1+
Foo() : x(0&42) { bar(x.Find); }
22
cout<<"Hello World?\n"<<endl;
3-
(1) (-1e10) (0xabcdef) 'y'
3+
(1 +1e10 0xabcdef) 'y'
4+
// long double
5+
3.141592654e+10l
6+
// float
7+
120E6f
8+
// hex
9+
0xdeadBeaf+7ULL
10+
// octal
11+
01234560
12+
// binary
13+
0b1100+e1
14+
// expression
15+
1.5-e+3+f
16+
// another one
17+
str.e+75
418
[a] b->*v d.*e
519
~!a !~b c+ d- e**f g&&h
620
a*=b c/=d e%=f

t/t4034/cpp/pre

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1-
Foo():x(0&&1){}
1+
Foo():x(0&&1){ foo0( x.find); }
22
cout<<"Hello World!\n"<<endl;
33
1 -1e10 0xabcdef 'x'
4+
// long double
5+
3.141592653e-10l
6+
// float
7+
120E5f
8+
// hex
9+
0xdeadbeaf+8ULL
10+
// octal
11+
01234567
12+
// binary
13+
0b1000+e1
14+
// expression
15+
1.5-e+2+f
16+
// another one
17+
str.e+65
418
[a] b->v d.e
519
!a ~b c++ d-- e*f g&h
620
a*b c/d e%f

0 commit comments

Comments
 (0)