diff options
Diffstat (limited to 't/t4034-diff-words.sh')
-rwxr-xr-x | t/t4034-diff-words.sh | 178 |
1 files changed, 150 insertions, 28 deletions
diff --git a/t/t4034-diff-words.sh b/t/t4034-diff-words.sh index 2e2e103b31..3f3c7577ca 100755 --- a/t/t4034-diff-words.sh +++ b/t/t4034-diff-words.sh @@ -35,10 +35,10 @@ aeff = aeff * ( aaa ) EOF cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 330b04f..5ed8eff 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1,3 +1,7 @@<RESET> <RED>h(4)<RESET><GREEN>h(4),hh[44]<RESET> @@ -55,11 +55,98 @@ test_expect_success 'word diff with runs of whitespace' ' ' +test_expect_success '--word-diff=color' ' + + word_diff --word-diff=color + +' + +test_expect_success '--color --word-diff=color' ' + + word_diff --color --word-diff=color + +' + +sed 's/#.*$//' > expect <<EOF +diff --git a/pre b/post +index 330b04f..5ed8eff 100644 +--- a/pre ++++ b/post +@@ -1,3 +1,7 @@ +-h(4) ++h(4),hh[44] +~ + # significant space +~ + a = b + c +~ +~ ++aa = a +~ +~ ++aeff = aeff * ( aaa ) +~ +EOF + +test_expect_success '--word-diff=porcelain' ' + + word_diff --word-diff=porcelain + +' + +cat > expect <<EOF +diff --git a/pre b/post +index 330b04f..5ed8eff 100644 +--- a/pre ++++ b/post +@@ -1,3 +1,7 @@ +[-h(4)-]{+h(4),hh[44]+} + +a = b + c + +{+aa = a+} + +{+aeff = aeff * ( aaa )+} +EOF + +test_expect_success '--word-diff=plain' ' + + word_diff --word-diff=plain + +' + +test_expect_success '--word-diff=plain --no-color' ' + + word_diff --word-diff=plain --no-color + +' + +cat > expect <<EOF +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> +<RED>[-h(4)-]<RESET><GREEN>{+h(4),hh[44]+}<RESET> + +a = b + c<RESET> + +<GREEN>{+aa = a+}<RESET> + +<GREEN>{+aeff = aeff * ( aaa )+}<RESET> +EOF + +test_expect_success '--word-diff=plain --color' ' + + word_diff --word-diff=plain --color + +' + cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 330b04f..5ed8eff 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1 +1 @@<RESET> <RED>h(4)<RESET><GREEN>h(4),hh[44]<RESET> <CYAN>@@ -3,0 +4,4 @@<RESET> <RESET><MAGENTA>a = b + c<RESET> @@ -76,10 +163,10 @@ test_expect_success 'word diff without context' ' ' cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 330b04f..5ed8eff 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1,3 +1,7 @@<RESET> h(4),<GREEN>hh<RESET>[44] @@ -112,10 +199,10 @@ test_expect_success 'option overrides .gitattributes' ' ' cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 330b04f..5ed8eff 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1,3 +1,7 @@<RESET> h(4)<GREEN>,hh[44]<RESET> @@ -143,6 +230,25 @@ test_expect_success 'command-line overrides config' ' word_diff --color-words="[a-z]+" ' +cat > expect <<\EOF +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> +h(4),<GREEN>{+hh+}<RESET>[44] + +a = b + c<RESET> + +<GREEN>{+aa = a+}<RESET> + +<GREEN>{+aeff = aeff * ( aaa+}<RESET> ) +EOF + +test_expect_success 'command-line overrides config: --word-diff-regex' ' + word_diff --color --word-diff-regex="[a-z]+" +' + cp expect.non-whitespace-is-word expect test_expect_success '.gitattributes override config' ' @@ -154,10 +260,10 @@ test_expect_success 'remove diff driver regex' ' ' cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 330b04f..5ed8eff 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 330b04f..5ed8eff 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1,3 +1,7 @@<RESET> h(4),<GREEN>hh[44<RESET>] @@ -176,10 +282,10 @@ echo 'aaa (aaa)' > pre echo 'aaa (aaa) aaa' > post cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index c29453b..be22f37 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index c29453b..be22f37 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1 +1 @@<RESET> aaa (aaa) <GREEN>aaa<RESET> EOF @@ -195,10 +301,10 @@ echo '(:' > pre echo '(' > post cat > expect <<\EOF -<WHITE>diff --git a/pre b/post<RESET> -<WHITE>index 289cb9d..2d06f37 100644<RESET> -<WHITE>--- a/pre<RESET> -<WHITE>+++ b/post<RESET> +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index 289cb9d..2d06f37 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> <CYAN>@@ -1 +1 @@<RESET> (<RED>:<RESET> EOF @@ -209,4 +315,20 @@ test_expect_success 'test when words are only removed at the end' ' ' +cat > expect <<\EOF +diff --git a/pre b/post +index 289cb9d..2d06f37 100644 +--- a/pre ++++ b/post +@@ -1 +1 @@ +-(: ++( +EOF + +test_expect_success '--word-diff=none' ' + + word_diff --word-diff=plain --word-diff=none + +' + test_done |