diff options
Diffstat (limited to 'third_party/git/t/t4034-diff-words.sh')
-rwxr-xr-x | third_party/git/t/t4034-diff-words.sh | 404 |
1 files changed, 0 insertions, 404 deletions
diff --git a/third_party/git/t/t4034-diff-words.sh b/third_party/git/t/t4034-diff-words.sh deleted file mode 100755 index 0c8fb39cedaa..000000000000 --- a/third_party/git/t/t4034-diff-words.sh +++ /dev/null @@ -1,404 +0,0 @@ -#!/bin/sh - -test_description='word diff colors' - -. ./test-lib.sh -. "$TEST_DIRECTORY"/diff-lib.sh - -cat >pre.simple <<-\EOF - h(4) - - a = b + c -EOF -cat >post.simple <<-\EOF - h(4),hh[44] - - a = b + c - - aa = a - - aeff = aeff * ( aaa ) -EOF -pre=$(git rev-parse --short $(git hash-object pre.simple)) -post=$(git rev-parse --short $(git hash-object post.simple)) -cat >expect.letter-runs-are-words <<-EOF - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 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 -cat >expect.non-whitespace-is-word <<-EOF - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 100644<RESET> - <BOLD>--- a/pre<RESET> - <BOLD>+++ b/post<RESET> - <CYAN>@@ -1,3 +1,7 @@<RESET> - h(4)<GREEN>,hh[44]<RESET> - - a = b + c<RESET> - - <GREEN>aa = a<RESET> - - <GREEN>aeff = aeff * ( aaa )<RESET> -EOF - -word_diff () { - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - test_must_fail git diff --no-index "$@" pre post >output && - test_decode_color <output >output.decrypted && - sed -e "2s/index [^ ]*/index $pre..$post/" expect >expected - test_cmp expected output.decrypted -} - -test_language_driver () { - lang=$1 - test_expect_success "diff driver '$lang'" ' - cp "$TEST_DIRECTORY/t4034/'"$lang"'/pre" \ - "$TEST_DIRECTORY/t4034/'"$lang"'/post" \ - "$TEST_DIRECTORY/t4034/'"$lang"'/expect" . && - echo "* diff='"$lang"'" >.gitattributes && - word_diff --color-words - ' -} - -test_expect_success setup ' - git config diff.color.old red && - git config diff.color.new green && - git config diff.color.func magenta -' - -test_expect_success 'set up pre and post with runs of whitespace' ' - cp pre.simple pre && - cp post.simple post -' - -test_expect_success 'word diff with runs of whitespace' ' - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 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 - word_diff --color-words && - word_diff --word-diff=color && - word_diff --color --word-diff=color -' - -test_expect_success '--word-diff=porcelain' ' - sed "s/#.*$//" >expect <<-EOF && - diff --git a/pre b/post - index $pre..$post 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 - word_diff --word-diff=porcelain -' - -test_expect_success '--word-diff=plain' ' - cat >expect <<-EOF && - diff --git a/pre b/post - index $pre..$post 100644 - --- a/pre - +++ b/post - @@ -1,3 +1,7 @@ - [-h(4)-]{+h(4),hh[44]+} - - a = b + c - - {+aa = a+} - - {+aeff = aeff * ( aaa )+} - EOF - word_diff --word-diff=plain && - word_diff --word-diff=plain --no-color -' - -test_expect_success '--word-diff=plain --color' ' - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 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 - word_diff --word-diff=plain --color -' - -test_expect_success 'word diff without context' ' - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 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> - - <GREEN>aa = a<RESET> - - <GREEN>aeff = aeff * ( aaa )<RESET> - EOF - word_diff --color-words --unified=0 -' - -test_expect_success 'word diff with a regular expression' ' - cp expect.letter-runs-are-words expect && - word_diff --color-words="[a-z]+" -' - -test_expect_success 'set up a diff driver' ' - git config diff.testdriver.wordRegex "[^[:space:]]" && - cat <<-\EOF >.gitattributes - pre diff=testdriver - post diff=testdriver - EOF -' - -test_expect_success 'option overrides .gitattributes' ' - cp expect.letter-runs-are-words expect && - word_diff --color-words="[a-z]+" -' - -test_expect_success 'use regex supplied by driver' ' - cp expect.non-whitespace-is-word expect && - word_diff --color-words -' - -test_expect_success 'set up diff.wordRegex option' ' - git config diff.wordRegex "[[:alnum:]]+" -' - -test_expect_success 'command-line overrides config' ' - cp expect.letter-runs-are-words expect && - word_diff --color-words="[a-z]+" -' - -test_expect_success 'command-line overrides config: --word-diff-regex' ' - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 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 - word_diff --color --word-diff-regex="[a-z]+" -' - -test_expect_success '.gitattributes override config' ' - cp expect.non-whitespace-is-word expect && - word_diff --color-words -' - -test_expect_success 'setup: remove diff driver regex' ' - test_unconfig diff.testdriver.wordRegex -' - -test_expect_success 'use configured regex' ' - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 100644<RESET> - <BOLD>--- a/pre<RESET> - <BOLD>+++ b/post<RESET> - <CYAN>@@ -1,3 +1,7 @@<RESET> - h(4),<GREEN>hh[44<RESET>] - - a = b + c<RESET> - - <GREEN>aa = a<RESET> - - <GREEN>aeff = aeff * ( aaa<RESET> ) - EOF - word_diff --color-words -' - -test_expect_success 'test parsing words for newline' ' - echo "aaa (aaa)" >pre && - echo "aaa (aaa) aaa" >post && - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 100644<RESET> - <BOLD>--- a/pre<RESET> - <BOLD>+++ b/post<RESET> - <CYAN>@@ -1 +1 @@<RESET> - aaa (aaa) <GREEN>aaa<RESET> - EOF - word_diff --color-words="a+" -' - -test_expect_success 'test when words are only removed at the end' ' - echo "(:" >pre && - echo "(" >post && - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - cat >expect <<-EOF && - <BOLD>diff --git a/pre b/post<RESET> - <BOLD>index $pre..$post 100644<RESET> - <BOLD>--- a/pre<RESET> - <BOLD>+++ b/post<RESET> - <CYAN>@@ -1 +1 @@<RESET> - (<RED>:<RESET> - EOF - word_diff --color-words=. -' - -test_expect_success '--word-diff=none' ' - echo "(:" >pre && - echo "(" >post && - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - cat >expect <<-EOF && - diff --git a/pre b/post - index $pre..$post 100644 - --- a/pre - +++ b/post - @@ -1 +1 @@ - -(: - +( - EOF - word_diff --word-diff=plain --word-diff=none -' - -test_expect_success 'unset default driver' ' - test_unconfig diff.wordregex -' - -test_language_driver ada -test_language_driver bibtex -test_language_driver cpp -test_language_driver csharp -test_language_driver css -test_language_driver dts -test_language_driver fortran -test_language_driver html -test_language_driver java -test_language_driver matlab -test_language_driver objc -test_language_driver pascal -test_language_driver perl -test_language_driver php -test_language_driver python -test_language_driver ruby -test_language_driver tex - -test_expect_success 'word-diff with diff.sbe' ' - cat >pre <<-\EOF && - a - - b - EOF - cat >post <<-\EOF && - a - - c - EOF - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - cat >expect <<-EOF && - diff --git a/pre b/post - index $pre..$post 100644 - --- a/pre - +++ b/post - @@ -1,3 +1,3 @@ - a - - [-b-]{+c+} - EOF - test_config diff.suppress-blank-empty true && - word_diff --word-diff=plain -' - -test_expect_success 'word-diff with no newline at EOF' ' - printf "%s" "a a a a a" >pre && - printf "%s" "a a ab a a" >post && - pre=$(git rev-parse --short $(git hash-object pre)) && - post=$(git rev-parse --short $(git hash-object post)) && - cat >expect <<-EOF && - diff --git a/pre b/post - index $pre..$post 100644 - --- a/pre - +++ b/post - @@ -1 +1 @@ - a a [-a-]{+ab+} a a - EOF - word_diff --word-diff=plain -' - -test_expect_success 'setup history with two files' ' - echo "a b; c" >a.tex && - echo "a b; c" >z.txt && - git add a.tex z.txt && - git commit -minitial && - - # modify both - echo "a bx; c" >a.tex && - echo "a bx; c" >z.txt && - git commit -mmodified -a -' - -test_expect_success 'wordRegex for the first file does not apply to the second' ' - echo "*.tex diff=tex" >.gitattributes && - test_config diff.tex.wordRegex "[a-z]+|." && - cat >expect <<-\EOF && - diff --git a/a.tex b/a.tex - --- a/a.tex - +++ b/a.tex - @@ -1 +1 @@ - a [-b-]{+bx+}; c - diff --git a/z.txt b/z.txt - --- a/z.txt - +++ b/z.txt - @@ -1 +1 @@ - a [-b;-]{+bx;+} c - EOF - git diff --word-diff HEAD~ >actual && - compare_diff_patch expect actual -' - -test_done |