#!/bin/sh
# Copyright 2008 by Denys Vlasenko
# Licensed under GPL v2, see file LICENSE for details.

. ./testing.sh

# testing "test name" "options" "expected result" "file input" "stdin"

testing "patch with old_file == new_file" \
	'patch; echo $?; cat input' \
"\
patching file input
0
qwe
asd
zxc
" \
"\
qwe
zxc
" \
"\
--- input	Jan 01 01:01:01 2000
+++ input	Jan 01 01:01:01 2000
@@ -1,2 +1,3 @@
 qwe
+asd
 zxc
" \

testing "patch with nonexistent old_file" \
	'patch; echo $?; cat input' \
"\
patching file input
0
qwe
asd
zxc
" \
"\
qwe
zxc
" \
"\
--- input.doesnt_exist	Jan 01 01:01:01 2000
+++ input	Jan 01 01:01:01 2000
@@ -1,2 +1,3 @@
 qwe
+asd
 zxc
" \

testing "patch -R with nonexistent old_file" \
	'patch -R; echo $?; cat input' \
"\
patching file input
0
qwe
zxc
" \
"\
qwe
asd
zxc
" \
"\
--- input.doesnt_exist	Jan 01 01:01:01 2000
+++ input	Jan 01 01:01:01 2000
@@ -1,2 +1,3 @@
 qwe
+asd
 zxc
" \

testing "patch detects already applied hunk" \
	'patch 2>&1; echo $?; cat input' \
"\
patching file input
patch: hunk #1 FAILED at 1
patch: 1 out of 1 hunk FAILED
1
abc
def
123
" \
"\
abc
def
123
" \
"\
--- input.old	Jan 01 01:01:01 2000
+++ input	Jan 01 01:01:01 2000
@@ -1,2 +1,3 @@
 abc
+def
 123
" \

# Currently fails (erroneously appends second "456" line):
false && testing "patch detects already applied hunk" \
	'patch 2>&1; echo $?; cat input' \
"\
patching file input
patch: hunk #1 FAILED at 2
patch: 1 out of 1 hunk FAILED
1
abc
123
456
" \
"\
abc
123
456
" \
"\
--- input.old	Jan 01 01:01:01 2000
+++ input	Jan 01 01:01:01 2000
@@ -1,2 +1,3 @@
 abc
 123
+456
" \

rm input.orig 2>/dev/null

exit $FAILCOUNT
