| Index: Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl
|
| diff --git a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl
|
| deleted file mode 100644
|
| index 8c20f658bda837f0b158b1bec9c3a2f8b3c7a539..0000000000000000000000000000000000000000
|
| --- a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl
|
| +++ /dev/null
|
| @@ -1,121 +0,0 @@
|
| -#!/usr/bin/perl -w
|
| -#
|
| -# Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
|
| -#
|
| -# Redistribution and use in source and binary forms, with or without
|
| -# modification, are permitted provided that the following conditions are
|
| -# met:
|
| -#
|
| -# * Redistributions of source code must retain the above copyright
|
| -# notice, this list of conditions and the following disclaimer.
|
| -# * Redistributions in binary form must reproduce the above
|
| -# copyright notice, this list of conditions and the following disclaimer
|
| -# in the documentation and/or other materials provided with the
|
| -# distribution.
|
| -# * Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
| -# its contributors may be used to endorse or promote products derived
|
| -# from this software without specific prior written permission.
|
| -#
|
| -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| -
|
| -# Unit tests of parseDiffHeader().
|
| -
|
| -use strict;
|
| -use warnings;
|
| -
|
| -use Test::More;
|
| -use VCSUtils;
|
| -
|
| -# The unit tests for parseGitDiffHeader() and parseSvnDiffHeader()
|
| -# already thoroughly test parsing each format.
|
| -#
|
| -# For parseDiffHeader(), it should suffice to verify that -- (1) for each
|
| -# format, the method can return non-trivial values back for each key
|
| -# supported by that format (e.g. "sourceRevision" for SVN), (2) the method
|
| -# correctly sets default values when specific key-values are not set
|
| -# (e.g. undef for "sourceRevision" for Git), and (3) key-values unique to
|
| -# this method are set correctly (e.g. "scmFormat").
|
| -my @testCaseHashRefs = (
|
| -####
|
| -# SVN test cases
|
| -##
|
| -{ # New test
|
| - diffName => "SVN: non-trivial copiedFromPath and sourceRevision values",
|
| - inputText => <<'END',
|
| -Index: index_path.py
|
| -===================================================================
|
| ---- index_path.py (revision 53048) (from copied_from_path.py:53048)
|
| -+++ index_path.py (working copy)
|
| -@@ -0,0 +1,7 @@
|
| -+# Python file...
|
| -END
|
| - expectedReturn => [
|
| -{
|
| - svnConvertedText => <<'END',
|
| -Index: index_path.py
|
| -===================================================================
|
| ---- index_path.py (revision 53048) (from copied_from_path.py:53048)
|
| -+++ index_path.py (working copy)
|
| -END
|
| - copiedFromPath => "copied_from_path.py",
|
| - indexPath => "index_path.py",
|
| - isSvn => 1,
|
| - sourceRevision => 53048,
|
| -},
|
| -"@@ -0,0 +1,7 @@\n"],
|
| - expectedNextLine => "+# Python file...\n",
|
| -},
|
| -####
|
| -# Git test cases
|
| -##
|
| -{ # New test case
|
| - diffName => "Git: Non-zero executable bit",
|
| - inputText => <<'END',
|
| -diff --git a/foo.exe b/foo.exe
|
| -old mode 100644
|
| -new mode 100755
|
| -END
|
| - expectedReturn => [
|
| -{
|
| - svnConvertedText => <<'END',
|
| -Index: foo.exe
|
| -old mode 100644
|
| -new mode 100755
|
| -END
|
| - executableBitDelta => 1,
|
| - indexPath => "foo.exe",
|
| - isGit => 1,
|
| -},
|
| -undef],
|
| - expectedNextLine => undef,
|
| -},
|
| -);
|
| -
|
| -my $testCasesCount = @testCaseHashRefs;
|
| -plan(tests => 2 * $testCasesCount); # Total number of assertions.
|
| -
|
| -foreach my $testCase (@testCaseHashRefs) {
|
| - my $testNameStart = "parseDiffHeader(): $testCase->{diffName}: comparing";
|
| -
|
| - my $fileHandle;
|
| - open($fileHandle, "<", \$testCase->{inputText});
|
| - my $line = <$fileHandle>;
|
| -
|
| - my @got = VCSUtils::parseDiffHeader($fileHandle, $line);
|
| - my $expectedReturn = $testCase->{expectedReturn};
|
| -
|
| - is_deeply(\@got, $expectedReturn, "$testNameStart return value.");
|
| -
|
| - my $gotNextLine = <$fileHandle>;
|
| - is($gotNextLine, $testCase->{expectedNextLine}, "$testNameStart next read line.");
|
| -}
|
|
|