[Koha-patches] [PATCH] bug 5400: new test case to find files with merge conflict markers

Galen Charlton gmcharlt at gmail.com
Sat Nov 13 15:36:15 CET 2010


Signed-off-by: Galen Charlton <gmcharlt at gmail.com>
---
 t/00-merge-conflict-markers.t |   59 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 t/00-merge-conflict-markers.t

diff --git a/t/00-merge-conflict-markers.t b/t/00-merge-conflict-markers.t
new file mode 100644
index 0000000..24743ae
--- /dev/null
+++ b/t/00-merge-conflict-markers.t
@@ -0,0 +1,59 @@
+# Copyright 2010 Galen Charlton
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use Test::More;
+use File::Spec;
+use File::Find;
+use IO::File;
+
+find({
+    bydepth => 1,
+    no_chdir => 1,
+    wanted => sub {
+        my $file = $_;
+
+        return if $file =~ /\.(ico|jpg|gif|ogg|pdf|png|psd|swf|zip)$/;
+        return unless -f $file;
+
+        my @name_parts = File::Spec->splitpath($file);
+        my %dirs = map { $_ => 1 } File::Spec->splitdir($name_parts[1]);
+        return if exists $dirs{'.git'};
+
+        my $fh = IO::File->new($file, 'r');
+        my $marker_found = 0;
+        my $line = 0;
+        while (<$fh>) {
+            $line++;
+            if (/^<<<<<</ or /^>>>>>>/) {
+                # could check for ^=====, but that's often used in text files
+                $marker_found = 1;
+                last;
+            }
+        }
+        close $fh;
+        if ($marker_found) {
+            fail("$file has no merge conflict markers");
+            diag("marker found in line $line");
+        } else {
+            pass("$file has no merge conflict markers");
+        }
+    },
+}, File::Spec->curdir());
+done_testing();
-- 
1.7.0



More information about the Koha-patches mailing list