Mercurial > hg
view tests/test-diff-indent-heuristic.t @ 45127:da2e69a278df
extdiff: refactor logic to diff revs of versions of files
Now that code for both cases, diffing patches or files is in separate function,
it will be better to refactor them more and understand.
Differential Revision: https://phab.mercurial-scm.org/D8687
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Tue, 07 Jul 2020 13:13:18 +0530 |
parents | 7834927f0243 |
children | 55c6ebd11cb9 |
line wrap: on
line source
#testcases bdiff xdiff #if xdiff #require xdiff $ cat >> $HGRCPATH <<EOF > [experimental] > xdiff = true > EOF #endif $ hg init $ cat > a.c <<'EOF' > /* > * This function returns 1. > */ > int f() { > return 1; > } > /* > * This function returns 2. > */ > int g() { > return 2; > } > /* > * This function returns 3. > */ > int h() { > return 3; > } > EOF $ cat > b.c <<'EOF' > if (x) { > do_something(); > } > > if (y) { > do_something_else(); > } > EOF $ cat > c.rb <<'EOF' > #!ruby > ["foo", "bar", "baz"].map do |i| > i.upcase > end > EOF $ cat > d.py <<'EOF' > try: > import foo > except ImportError: > pass > try: > import bar > except ImportError: > pass > EOF The below two files are taken from git: t/t4061-diff-indent.sh $ cat > spaces.txt <<'EOF' > 1 > 2 > a > > b > 3 > 4 > EOF $ cat > functions.c <<'EOF' > 1 > 2 > /* function */ > foo() { > foo > } > > 3 > 4 > EOF $ hg commit -m 1 -A . -q $ cat > a.c <<'EOF' > /* > * This function returns 1. > */ > int f() { > return 1; > } > /* > * This function returns 3. > */ > int h() { > return 3; > } > EOF $ cat > b.c <<'EOF' > if (x) { > do_something(); > } > > if (y) { > do_another_thing(); > } > > if (y) { > do_something_else(); > } > EOF $ cat > c.rb <<'EOF' > #!ruby > ["foo", "bar", "baz"].map do |i| > i > end > ["foo", "bar", "baz"].map do |i| > i.upcase > end > EOF $ cat > d.py <<'EOF' > try: > import foo > except ImportError: > pass > try: > import baz > except ImportError: > pass > try: > import bar > except ImportError: > pass > EOF $ cat > spaces.txt <<'EOF' > 1 > 2 > a > > b > a > > b > 3 > 4 > EOF $ cat > functions.c <<'EOF' > 1 > 2 > /* function */ > bar() { > foo > } > > /* function */ > foo() { > foo > } > > 3 > 4 > EOF #if xdiff $ hg diff --git diff --git a/a.c b/a.c --- a/a.c +++ b/a.c @@ -4,12 +4,6 @@ int f() { return 1; } -/* - * This function returns 2. - */ -int g() { - return 2; -} /* * This function returns 3. */ diff --git a/b.c b/b.c --- a/b.c +++ b/b.c @@ -2,6 +2,10 @@ do_something(); } +if (y) { + do_another_thing(); +} + if (y) { do_something_else(); } diff --git a/c.rb b/c.rb --- a/c.rb +++ b/c.rb @@ -1,4 +1,7 @@ #!ruby +["foo", "bar", "baz"].map do |i| + i +end ["foo", "bar", "baz"].map do |i| i.upcase end diff --git a/d.py b/d.py --- a/d.py +++ b/d.py @@ -2,6 +2,10 @@ import foo except ImportError: pass +try: + import baz +except ImportError: + pass try: import bar except ImportError: diff --git a/functions.c b/functions.c --- a/functions.c +++ b/functions.c @@ -1,5 +1,10 @@ 1 2 +/* function */ +bar() { + foo +} + /* function */ foo() { foo diff --git a/spaces.txt b/spaces.txt --- a/spaces.txt +++ b/spaces.txt @@ -2,6 +2,9 @@ 2 a +b +a + b 3 4 #else $ hg diff --git diff --git a/a.c b/a.c --- a/a.c +++ b/a.c @@ -5,12 +5,6 @@ return 1; } /* - * This function returns 2. - */ -int g() { - return 2; -} -/* * This function returns 3. */ int h() { diff --git a/b.c b/b.c --- a/b.c +++ b/b.c @@ -3,5 +3,9 @@ } if (y) { + do_another_thing(); +} + +if (y) { do_something_else(); } diff --git a/c.rb b/c.rb --- a/c.rb +++ b/c.rb @@ -1,4 +1,7 @@ #!ruby ["foo", "bar", "baz"].map do |i| + i +end +["foo", "bar", "baz"].map do |i| i.upcase end diff --git a/d.py b/d.py --- a/d.py +++ b/d.py @@ -3,6 +3,10 @@ except ImportError: pass try: + import baz +except ImportError: + pass +try: import bar except ImportError: pass diff --git a/functions.c b/functions.c --- a/functions.c +++ b/functions.c @@ -1,6 +1,11 @@ 1 2 /* function */ +bar() { + foo +} + +/* function */ foo() { foo } diff --git a/spaces.txt b/spaces.txt --- a/spaces.txt +++ b/spaces.txt @@ -3,5 +3,8 @@ a b +a + +b 3 4 #endif