#!/bin/bash

#testing "name" "command" "result" "infile" "stdin"

seq 10 > left
seq 11 > right

testing "unknown argument" 'diff --oops left right 2>/dev/null ; echo $?' "2\n" "" ""
testing "missing" 'diff missing1 missing2 2>/dev/null ; echo $?' "2\n" "" ""

testing "- -" 'diff - - ; echo $?' "0\n" "" "whatever"

expected='--- lll
+++ rrr
@@ -8,3 +8,4 @@
 8
 9
 10
+11
'
# Hm this only gives unified diffs?
testing "simple" "diff -L lll -L rrr left right" "$expected" "" ""


expected='--- tree1/file
+++ tree2/file
@@ -1 +1 @@
-foo
+food
'
mkdir -p tree1 tree2
echo foo > tree1/file
echo food > tree2/file

testing "-r" "diff -r -L tree1/file -L tree2/file tree1 tree2 |tee out" "$expected" "" ""