tests/test-diff-unified.t
changeset 12141 5f44daa8fbd0
parent 7440 d2a917b27152
child 12316 4134686b83e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-diff-unified.t	Tue Aug 31 11:57:02 2010 +0200
@@ -0,0 +1,109 @@
+  $ hg init repo
+  $ cd repo
+  $ cat > a <<EOF
+  > c
+  > c
+  > a
+  > a
+  > b
+  > a
+  > a
+  > c
+  > c
+  > EOF
+  $ hg ci -Am adda
+  adding a
+
+  $ cat > a <<EOF
+  > c
+  > c
+  > a
+  > a
+  > dd
+  > a
+  > a
+  > c
+  > c
+  > EOF
+
+default context
+
+  $ hg diff --nodates
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -2,7 +2,7 @@
+   c
+   a
+   a
+  -b
+  +dd
+   a
+   a
+   c
+
+invalid --unified
+
+  $ hg diff --nodates -U foo
+  abort: diff context lines count must be an integer, not 'foo'
+
+
+  $ hg diff --nodates -U 2
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -3,5 +3,5 @@
+   a
+   a
+  -b
+  +dd
+   a
+   a
+
+  $ hg --config diff.unified=2 diff --nodates
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -3,5 +3,5 @@
+   a
+   a
+  -b
+  +dd
+   a
+   a
+
+  $ hg diff --nodates -U 1
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -4,3 +4,3 @@
+   a
+  -b
+  +dd
+   a
+
+invalid diff.unified
+
+  $ hg --config diff.unified=foo diff --nodates
+  abort: diff context lines count must be an integer, not 'foo'
+
+test off-by-one error with diff -p
+
+  $ hg init diffp
+  $ cd diffp
+  $ echo a > a
+  $ hg ci -Ama
+  adding a
+  $ rm a
+  $ echo b > a
+  $ echo a >> a
+  $ echo c >> a
+  $ hg diff -U0 -p --nodates
+  diff -r cb9a9f314b8b a
+  --- a/a
+  +++ b/a
+  @@ -1,0 +1,1 @@
+  +b
+  @@ -2,0 +3,1 @@ a
+  +c
+