toybox/tests/diff.test
<<
>>
Prefs
   1#!/bin/bash
   2
   3#testing "name" "command" "result" "infile" "stdin"
   4
   5seq 10 > left
   6seq 11 > right
   7
   8testing "unknown argument" 'diff --oops left right 2>/dev/null ; echo $?' "2\n" "" ""
   9testing "missing" 'diff missing1 missing2 2>/dev/null ; echo $?' "2\n" "" ""
  10
  11testing "- -" 'diff - - ; echo $?' "0\n" "" "whatever"
  12
  13expected='--- lll
  14+++ rrr
  15@@ -8,3 +8,4 @@
  16 8
  17 9
  18 10
  19+11
  20'
  21# Hm this only gives unified diffs?
  22testing "simple" "diff -L lll -L rrr left right" "$expected" "" ""
  23
  24
  25expected='--- tree1/file
  26+++ tree2/file
  27@@ -1 +1 @@
  28-foo
  29+food
  30'
  31mkdir -p tree1 tree2
  32echo foo > tree1/file
  33echo food > tree2/file
  34
  35testing "-r" "diff -r -L tree1/file -L tree2/file tree1 tree2 |tee out" "$expected" "" ""
  36
  37echo -e "hello\r\nworld\r\n"> a
  38echo -e "hello\nworld\n"> b
  39testing "--strip-trailing-cr off" "diff -q a b" "Files a and b differ\n" "" ""
  40testing "--strip-trailing-cr on" "diff -u --strip-trailing-cr a b" "" "" ""
  41