OSDN Git Service

PATCH: [ 1425770 ] Add some selftests with empty files
authorPerry Rapp <elsapo@users.sourceforge.net>
Tue, 7 Feb 2006 03:03:13 +0000 (03:03 +0000)
committerPerry Rapp <elsapo@users.sourceforge.net>
Tue, 7 Feb 2006 03:03:13 +0000 (03:03 +0000)
 Affected:
  testdiff.pl
 New:
  mixed: empty.txt empty_m.txt empty_u.txt empty_w.txt

Testing/selftests/Changes.txt
Testing/selftests/mixed/empty.txt [new file with mode: 0755]
Testing/selftests/mixed/empty_m.txt [new file with mode: 0755]
Testing/selftests/mixed/empty_u.txt [new file with mode: 0755]
Testing/selftests/mixed/empty_w.txt [new file with mode: 0755]
Testing/selftests/testdiff.pl

index 0a9563c..ae06a05 100755 (executable)
@@ -5,6 +5,11 @@ selftest\Changes.txt
   Add build arguments so don't have to test all builds
  Affected:
   testdiff.pl
+ PATCH: [ 1425770 ] Add some selftests with empty files
+ Affected:
+  testdiff.pl
+ New:
+  mixed: empty.txt empty_m.txt empty_u.txt empty_w.txt
 
 2006-02-03, Perry
  PATCH: [ 1423060 ] Modify perl selftest to test all 4 builds
diff --git a/Testing/selftests/mixed/empty.txt b/Testing/selftests/mixed/empty.txt
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/Testing/selftests/mixed/empty_m.txt b/Testing/selftests/mixed/empty_m.txt
new file mode 100755 (executable)
index 0000000..67c3297
--- /dev/null
@@ -0,0 +1 @@
+\r
\ No newline at end of file
diff --git a/Testing/selftests/mixed/empty_u.txt b/Testing/selftests/mixed/empty_u.txt
new file mode 100755 (executable)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/Testing/selftests/mixed/empty_w.txt b/Testing/selftests/mixed/empty_w.txt
new file mode 100755 (executable)
index 0000000..d3f5a12
--- /dev/null
@@ -0,0 +1 @@
+\r
index 88caa06..88df776 100755 (executable)
@@ -2,7 +2,7 @@
 # Self-tests for diffutils diff & WinMerge
 #
 # Created: 2006-01-21, Perry Rapp
-# Edited:  2006-02-073, Perry Rapp
+# Edited:  2006-02-07, Perry Rapp
 #
 
 use strict;
@@ -75,6 +75,9 @@ sub testdiffs {
   #  -B  --ignore-blank-lines  Ignore changes whose lines are all blank.
   #  -q  (this is used to fill in as blank argument)
 
+  # Each call to test3set does the test for all 3 platforms (unix, mac, win)
+
+  # files differ only in case
   test3set "t001", "-q", 1;
   test3set "t001", "-i", 0;
   test3set "t001", "-E", 1;
@@ -85,6 +88,7 @@ sub testdiffs {
   test3set "t001", "-Bi", 0;
   test3set "t001", "-bi", 0;
 
+  # files differ only in length of middle whitespace
   test3set "t002", "-q", 1;
   test3set "t002", "-i", 1;
   test3set "t002", "-E", 1;
@@ -95,6 +99,7 @@ sub testdiffs {
   test3set "t002", "-Bi", 1;
   test3set "t002", "-bi", 0;
 
+  # 2nd file has line broken into two lines, so always different for WinMerge
   test3set "t003", "-q", 1;
   test3set "t003", "-i", 1;
   test3set "t003", "-E", 1;
@@ -105,6 +110,7 @@ sub testdiffs {
   test3set "t003", "-Bi", 1;
   test3set "t003", "-bi", 1;
 
+  # 2nd file has extra blank line in middle
   test3set "t004", "-q", 1;
   test3set "t004", "-i", 1;
   test3set "t004", "-E", 1;
@@ -121,6 +127,47 @@ sub testdiffs {
   test3set "bug1406950", "-b", 0;
   test3set "bug1406950", "-w", 0;
 
+  # empty file against itself
+  testdiff "mixed/empty.txt", "mixed/empty.txt", "-q", 0;
+  testdiff "mixed/empty.txt", "mixed/empty.txt", "-w", 0;
+  testdiff "mixed/empty.txt", "mixed/empty.txt", "-B", 0;
+
+  # empty file against file with one empty win line  
+  testdiff "mixed/empty.txt", "mixed/empty_w.txt", "-q", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_w.txt", "-b", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_w.txt", "-w", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_w.txt", "-B", 0;
+  testdiff "mixed/empty.txt", "mixed/empty_w.txt", "-Bw", 0;
+
+  # empty file against file with one empty unix line  
+  testdiff "mixed/empty.txt", "mixed/empty_u.txt", "-q", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_u.txt", "-b", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_u.txt", "-w", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_u.txt", "-B", 0;
+  testdiff "mixed/empty.txt", "mixed/empty_u.txt", "-Bw", 0;
+
+  # empty file against file with one empty mac line  
+  testdiff "mixed/empty.txt", "mixed/empty_m.txt", "-q", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_m.txt", "-b", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_m.txt", "-w", 1;
+  testdiff "mixed/empty.txt", "mixed/empty_m.txt", "-B", 0;
+  testdiff "mixed/empty.txt", "mixed/empty_m.txt", "-Bw", 0;
+
+  # empty line win file vs. empty line unix file
+  testdiff "mixed/empty_w.txt", "mixed/empty_u.txt", "-q", 1;
+  testdiff "mixed/empty_w.txt", "mixed/empty_u.txt", "-w", 1;
+  testdiff "mixed/empty_w.txt", "mixed/empty_u.txt", "-B", 0;
+
+  # empty line win file vs. empty line mac file
+  testdiff "mixed/empty_w.txt", "mixed/empty_m.txt", "-q", 1;
+  testdiff "mixed/empty_w.txt", "mixed/empty_m.txt", "-w", 1;
+  testdiff "mixed/empty_w.txt", "mixed/empty_m.txt", "-B", 0;
+
+  # empty line unix file vs. empty line mac file
+  testdiff "mixed/empty_u.txt", "mixed/empty_m.txt", "-q", 1;
+  testdiff "mixed/empty_u.txt", "mixed/empty_m.txt", "-w", 1;
+  testdiff "mixed/empty_u.txt", "mixed/empty_m.txt", "-B", 0;
+
   if ($noisy == 1) { 
     # reprint all failure messages, because they were lost in the noise
     print $failmsgs;