1d0825bca7fe65beaee391d30da42e937db621564Steve Block#!/usr/bin/perl -w
2d0825bca7fe65beaee391d30da42e937db621564Steve Block#
3d0825bca7fe65beaee391d30da42e937db621564Steve Block# Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
4d0825bca7fe65beaee391d30da42e937db621564Steve Block#
5d0825bca7fe65beaee391d30da42e937db621564Steve Block# Redistribution and use in source and binary forms, with or without
6d0825bca7fe65beaee391d30da42e937db621564Steve Block# modification, are permitted provided that the following conditions
7d0825bca7fe65beaee391d30da42e937db621564Steve Block# are met:
8d0825bca7fe65beaee391d30da42e937db621564Steve Block# 1.  Redistributions of source code must retain the above copyright
9d0825bca7fe65beaee391d30da42e937db621564Steve Block#     notice, this list of conditions and the following disclaimer.
10d0825bca7fe65beaee391d30da42e937db621564Steve Block# 2.  Redistributions in binary form must reproduce the above copyright
11d0825bca7fe65beaee391d30da42e937db621564Steve Block#     notice, this list of conditions and the following disclaimer in the
12d0825bca7fe65beaee391d30da42e937db621564Steve Block#     documentation and/or other materials provided with the distribution.
13d0825bca7fe65beaee391d30da42e937db621564Steve Block#
14d0825bca7fe65beaee391d30da42e937db621564Steve Block# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
15d0825bca7fe65beaee391d30da42e937db621564Steve Block# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16d0825bca7fe65beaee391d30da42e937db621564Steve Block# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17d0825bca7fe65beaee391d30da42e937db621564Steve Block# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18d0825bca7fe65beaee391d30da42e937db621564Steve Block# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19d0825bca7fe65beaee391d30da42e937db621564Steve Block# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20d0825bca7fe65beaee391d30da42e937db621564Steve Block# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21d0825bca7fe65beaee391d30da42e937db621564Steve Block# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22d0825bca7fe65beaee391d30da42e937db621564Steve Block# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23d0825bca7fe65beaee391d30da42e937db621564Steve Block# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24d0825bca7fe65beaee391d30da42e937db621564Steve Block
25d0825bca7fe65beaee391d30da42e937db621564Steve Block# Unit tests of parseDiff().
26d0825bca7fe65beaee391d30da42e937db621564Steve Block
27d0825bca7fe65beaee391d30da42e937db621564Steve Blockuse strict;
28d0825bca7fe65beaee391d30da42e937db621564Steve Blockuse warnings;
29d0825bca7fe65beaee391d30da42e937db621564Steve Block
30d0825bca7fe65beaee391d30da42e937db621564Steve Blockuse Test::More;
31d0825bca7fe65beaee391d30da42e937db621564Steve Blockuse VCSUtils;
32d0825bca7fe65beaee391d30da42e937db621564Steve Block
33d0825bca7fe65beaee391d30da42e937db621564Steve Block# The array of test cases.
34d0825bca7fe65beaee391d30da42e937db621564Steve Blockmy @testCaseHashRefs = (
35d0825bca7fe65beaee391d30da42e937db621564Steve Block{
36d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
37d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "SVN: simple",
38d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
39d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
40d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
41d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53052)
42d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
43d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,3 +1,4 @@
44d0825bca7fe65beaee391d30da42e937db621564Steve Block+
45d0825bca7fe65beaee391d30da42e937db621564Steve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
46d0825bca7fe65beaee391d30da42e937db621564Steve Block
47d0825bca7fe65beaee391d30da42e937db621564Steve Block all:
48d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
4921939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
506c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
51d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END', # Same as input text
52d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
53d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
54d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53052)
55d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
56d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,3 +1,4 @@
57d0825bca7fe65beaee391d30da42e937db621564Steve Block+
58d0825bca7fe65beaee391d30da42e937db621564Steve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
59d0825bca7fe65beaee391d30da42e937db621564Steve Block
60d0825bca7fe65beaee391d30da42e937db621564Steve Block all:
61d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
62d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
6321939df44de1705786c545cd1bf519d47250322dBen Murdoch    isSvn => 1,
64d0825bca7fe65beaee391d30da42e937db621564Steve Block    sourceRevision => "53052",
656c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
6621939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
6721939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
6821939df44de1705786c545cd1bf519d47250322dBen Murdoch},
6921939df44de1705786c545cd1bf519d47250322dBen Murdoch{
7021939df44de1705786c545cd1bf519d47250322dBen Murdoch    # New test
7121939df44de1705786c545cd1bf519d47250322dBen Murdoch    diffName => "SVN: binary file (isBinary true)",
7221939df44de1705786c545cd1bf519d47250322dBen Murdoch    inputText => <<'END',
7321939df44de1705786c545cd1bf519d47250322dBen MurdochIndex: test_file.swf
7421939df44de1705786c545cd1bf519d47250322dBen Murdoch===================================================================
7521939df44de1705786c545cd1bf519d47250322dBen MurdochCannot display: file marked as a binary type.
7621939df44de1705786c545cd1bf519d47250322dBen Murdochsvn:mime-type = application/octet-stream
7721939df44de1705786c545cd1bf519d47250322dBen Murdoch
7821939df44de1705786c545cd1bf519d47250322dBen MurdochProperty changes on: test_file.swf
7921939df44de1705786c545cd1bf519d47250322dBen Murdoch___________________________________________________________________
8021939df44de1705786c545cd1bf519d47250322dBen MurdochName: svn:mime-type
8121939df44de1705786c545cd1bf519d47250322dBen Murdoch   + application/octet-stream
8221939df44de1705786c545cd1bf519d47250322dBen Murdoch
8321939df44de1705786c545cd1bf519d47250322dBen Murdoch
8421939df44de1705786c545cd1bf519d47250322dBen MurdochQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
8521939df44de1705786c545cd1bf519d47250322dBen MurdochEND
8621939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
876c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
8821939df44de1705786c545cd1bf519d47250322dBen Murdoch    svnConvertedText =>  <<'END', # Same as input text
8921939df44de1705786c545cd1bf519d47250322dBen MurdochIndex: test_file.swf
9021939df44de1705786c545cd1bf519d47250322dBen Murdoch===================================================================
9121939df44de1705786c545cd1bf519d47250322dBen MurdochCannot display: file marked as a binary type.
9221939df44de1705786c545cd1bf519d47250322dBen Murdochsvn:mime-type = application/octet-stream
9321939df44de1705786c545cd1bf519d47250322dBen Murdoch
9421939df44de1705786c545cd1bf519d47250322dBen Murdoch
9521939df44de1705786c545cd1bf519d47250322dBen Murdoch
9621939df44de1705786c545cd1bf519d47250322dBen MurdochQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
9721939df44de1705786c545cd1bf519d47250322dBen MurdochEND
9821939df44de1705786c545cd1bf519d47250322dBen Murdoch    indexPath => "test_file.swf",
9921939df44de1705786c545cd1bf519d47250322dBen Murdoch    isBinary => 1,
10021939df44de1705786c545cd1bf519d47250322dBen Murdoch    isSvn => 1,
1016c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
10221939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
10321939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
104d0825bca7fe65beaee391d30da42e937db621564Steve Block},
105d0825bca7fe65beaee391d30da42e937db621564Steve Block{
106d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
107e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: binary file (isBinary true) using Windows line endings",
108e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
109e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
110e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
111e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
112e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
113e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
114e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: test_file.swf
115e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
116e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:mime-type
117e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + application/octet-stream
118e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
119e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
120e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
121e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
122e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
123e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
124e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
125e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
126e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
127e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
128e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
129e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
130e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
131e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
132e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
133e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
134e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
135e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
136e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "test_file.swf",
137e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isBinary => 1,
138e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
139e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
140e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blockundef],
141e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => undef,
142e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
143e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
144e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
145d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "SVN: leading junk",
146d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
147d0825bca7fe65beaee391d30da42e937db621564Steve Block
148d0825bca7fe65beaee391d30da42e937db621564Steve BlockLEADING JUNK
149d0825bca7fe65beaee391d30da42e937db621564Steve Block
150d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
151d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
152d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53052)
153d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
154d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,3 +1,4 @@
155d0825bca7fe65beaee391d30da42e937db621564Steve Block+
156d0825bca7fe65beaee391d30da42e937db621564Steve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
157d0825bca7fe65beaee391d30da42e937db621564Steve Block
158d0825bca7fe65beaee391d30da42e937db621564Steve Block all:
159d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
16021939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
1616c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
162d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END', # Same as input text
163d0825bca7fe65beaee391d30da42e937db621564Steve Block
164d0825bca7fe65beaee391d30da42e937db621564Steve BlockLEADING JUNK
165d0825bca7fe65beaee391d30da42e937db621564Steve Block
166d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
167d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
168d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53052)
169d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
170d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,3 +1,4 @@
171d0825bca7fe65beaee391d30da42e937db621564Steve Block+
172d0825bca7fe65beaee391d30da42e937db621564Steve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
173d0825bca7fe65beaee391d30da42e937db621564Steve Block
174d0825bca7fe65beaee391d30da42e937db621564Steve Block all:
175d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
176d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
17721939df44de1705786c545cd1bf519d47250322dBen Murdoch    isSvn => 1,
178d0825bca7fe65beaee391d30da42e937db621564Steve Block    sourceRevision => "53052",
1796c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
18021939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
18121939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
182d0825bca7fe65beaee391d30da42e937db621564Steve Block},
183d0825bca7fe65beaee391d30da42e937db621564Steve Block{
184d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
185d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "SVN: copied file",
186d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
187d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile_new
188d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
189d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile_new	(revision 53131)	(from Makefile:53131)
190d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile_new	(working copy)
191d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -0,0 +1,1 @@
192d0825bca7fe65beaee391d30da42e937db621564Steve Block+MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
193d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
19421939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
1956c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
196d0825bca7fe65beaee391d30da42e937db621564Steve Block    copiedFromPath => "Makefile",
197d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile_new",
198d0825bca7fe65beaee391d30da42e937db621564Steve Block    sourceRevision => "53131",
1996c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
20021939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
20121939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
202d0825bca7fe65beaee391d30da42e937db621564Steve Block},
203d0825bca7fe65beaee391d30da42e937db621564Steve Block{
204d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
205d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "SVN: two diffs",
206d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
207d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
208d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
209d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53131)
210d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
211d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 +0,0 @@
212d0825bca7fe65beaee391d30da42e937db621564Steve Block-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
213d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile_new
214d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
215d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile_new	(revision 53131)	(from Makefile:53131)
216d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
21721939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
2186c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
219d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END',
220d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
221d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
222d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53131)
223d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
224d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 +0,0 @@
225d0825bca7fe65beaee391d30da42e937db621564Steve Block-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
226d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
227d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
22821939df44de1705786c545cd1bf519d47250322dBen Murdoch    isSvn => 1,
229d0825bca7fe65beaee391d30da42e937db621564Steve Block    sourceRevision => "53131",
2306c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
23121939df44de1705786c545cd1bf519d47250322dBen Murdoch"Index: Makefile_new\n"],
23221939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => "===================================================================\n",
233d0825bca7fe65beaee391d30da42e937db621564Steve Block},
234d0825bca7fe65beaee391d30da42e937db621564Steve Block{
235d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
236d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "SVN: SVN diff followed by Git diff", # Should not recognize Git start
237d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
238d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
239d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
240d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53131)
241d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
242d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 +0,0 @@
243d0825bca7fe65beaee391d30da42e937db621564Steve Block-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
244d0825bca7fe65beaee391d30da42e937db621564Steve Blockdiff --git a/Makefile b/Makefile
245d0825bca7fe65beaee391d30da42e937db621564Steve Blockindex f5d5e74..3b6aa92 100644
246d0825bca7fe65beaee391d30da42e937db621564Steve Block--- a/Makefile
247d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ b/Makefile
248d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
249d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
25021939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
2516c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
252d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END', # Same as input text
253d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
254d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
255d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile	(revision 53131)
256d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile	(working copy)
257d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 +0,0 @@
258d0825bca7fe65beaee391d30da42e937db621564Steve Block-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
259d0825bca7fe65beaee391d30da42e937db621564Steve Blockdiff --git a/Makefile b/Makefile
260d0825bca7fe65beaee391d30da42e937db621564Steve Blockindex f5d5e74..3b6aa92 100644
261d0825bca7fe65beaee391d30da42e937db621564Steve Block--- a/Makefile
262d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ b/Makefile
263d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
264d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
265d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
26621939df44de1705786c545cd1bf519d47250322dBen Murdoch    isSvn => 1,
267d0825bca7fe65beaee391d30da42e937db621564Steve Block    sourceRevision => "53131",
2686c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
26921939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
27021939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
27121939df44de1705786c545cd1bf519d47250322dBen Murdoch},
27221939df44de1705786c545cd1bf519d47250322dBen Murdoch####
273e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke# Property Changes: Simple
274e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke##
275e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
276e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
277e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: file change diff with property change diff",
278e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
279e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
280e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
281e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
282e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
283e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
284e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
285e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
286e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
287e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
288e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
289e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
290e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
291e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:executable
292e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
293e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
294e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
295e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
296e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
297e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
298e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
299e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
300e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
301e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
302e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
303e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
304e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
305e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
306e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
307e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
308e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
309e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
310e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
311e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    sourceRevision => "60021",
312e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
313e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkeundef],
314e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => undef,
315e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
316e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
317e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
318e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: file change diff, followed by property change diff on different file",
319e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
320e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
321e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
322e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
323e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
324e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
325e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
326e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
327e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
328e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
329e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
330e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile.shared
331e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
332e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:executable
333e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
334e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
335e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
336e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
337e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
338e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
339e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
340e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
341e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
342e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
343e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
344e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
345e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
346e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
347e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
348e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
349e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
350e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
351e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    sourceRevision => "60021",
352e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
353e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Property changes on: Makefile.shared\n"],
354e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "___________________________________________________________________\n",
355e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
356e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
357e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
358e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: property diff, followed by file change diff",
359e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
360e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
361e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
362e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeDeleted: svn:executable
363e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   - *
364e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
365e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile.shared
366e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
367e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile.shared	(revision 60021)
368e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile.shared	(working copy)
369e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
370e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
371e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeSCRIPTS_PATH ?= ../WebKitTools/Scripts
372e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeXCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
373e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
374e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
375e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
376e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => -1,
377e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
378e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
379e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
380e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Index: Makefile.shared\n"],
381e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "===================================================================\n",
382e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
383e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
384e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
385e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: property diff, followed by file change diff using Windows line endings",
386e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
387e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile
388e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
389e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockDeleted: svn:executable
390e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   - *
391e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
392e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile.shared
393e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
394e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile.shared	(revision 60021)
395e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile.shared	(working copy)
396e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
397e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
398e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockSCRIPTS_PATH ?= ../WebKitTools/Scripts
399e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockXCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
400e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
401e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
402e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
403e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
404e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    executableBitDelta => -1,
405e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "Makefile",
406e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
407e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
408e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Index: Makefile.shared\r\n"],
409e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "===================================================================\r\n",
410e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
411e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
412e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
413e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: copied file with property change",
414e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
415e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: NMakefile
416e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
417e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- NMakefile	(revision 60021)	(from Makefile:60021)
418e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ NMakefile	(working copy)
419e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -0,0 +1,1 @@
420e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
421e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
422e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: NMakefile
423e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
424e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeAdded: svn:executable
425e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
426e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
427e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
428e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
429e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    copiedFromPath => "Makefile",
430e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
431e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "NMakefile",
432e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    sourceRevision => "60021",
433e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
434e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkeundef],
435e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => undef,
436e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
437e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
438e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
439e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: two consecutive property diffs",
440e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
441e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
442e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
443e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeAdded: svn:executable
444e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
445e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
446e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
447e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile.shared
448e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
449e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeAdded: svn:executable
450e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
451e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
452e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
453e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
454e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
455e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
456e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
457e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
458e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Property changes on: Makefile.shared\n"],
459e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "___________________________________________________________________\n",
460e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
461e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
462e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
463e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: two consecutive property diffs using Windows line endings",
464e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
465e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile
466e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
467e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockAdded: svn:executable
468e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + *
469e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
470e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
471e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile.shared
472e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
473e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockAdded: svn:executable
474e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + *
475e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
476e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
477e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
478e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
479e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    executableBitDelta => 1,
480e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "Makefile",
481e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
482e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
483e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Property changes on: Makefile.shared\r\n"],
484e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "___________________________________________________________________\r\n",
485e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
486e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke####
487e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke# Property Changes: Binary files
488e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke##
489e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
490e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
491e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: binary file with executable bit change",
492e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
493e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
494e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
495e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
496e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
497e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
498e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: test_file.swf
499e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
500e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:mime-type
501e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + application/octet-stream
502e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:executable
503e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
504e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
505e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
506e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
507e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
508e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
509e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
510e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
511e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
512e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
513e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
514e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
515e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
516e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
517e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
518e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
519e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
520e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
521e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "test_file.swf",
522e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isBinary => 1,
523e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
524e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
525e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkeundef],
526e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => undef,
527e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
528e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
529e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
530e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: binary file with executable bit change usng Windows line endings",
531e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
532e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
533e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
534e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
535e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
536e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
537e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: test_file.swf
538e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
539e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:mime-type
540e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + application/octet-stream
541e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:executable
542e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + *
543e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
544e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
545e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
546e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
547e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
548e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
549e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
550e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
551e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
552e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
553e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
554e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
555e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
556e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
557e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
558e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
559e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
560e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
561e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    executableBitDelta => 1,
562e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "test_file.swf",
563e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isBinary => 1,
564e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
565e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
566e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blockundef],
567e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => undef,
568e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
569e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
570e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
571e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: binary file followed by property change on different file",
572e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
573e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
574e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
575e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
576e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
577e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
578e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: test_file.swf
579e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
580e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:mime-type
581e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + application/octet-stream
582e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
583e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
584e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
585e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
586e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
587e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
588e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeAdded: svn:executable
589e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
590e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
591e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
592e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
593e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
594e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
595e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
596e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
597e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
598e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
599e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
600e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
601e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
602e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
603e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
604e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "test_file.swf",
605e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isBinary => 1,
606e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
607e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
608e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Property changes on: Makefile\n"],
609e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "___________________________________________________________________\n",
610e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
611e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
612e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
613e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: binary file followed by property change on different file using Windows line endings",
614e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
615e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
616e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
617e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
618e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
619e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
620e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: test_file.swf
621e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
622e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:mime-type
623e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + application/octet-stream
624e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
625e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
626e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
627e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
628e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile
629e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
630e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockAdded: svn:executable
631e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + *
632e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
633e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
634e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
635e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
636e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
637e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
638e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
639e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
640e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
641e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
642e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
643e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
644e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
645e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
646e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
647e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
648e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "test_file.swf",
649e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isBinary => 1,
650e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
651e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
652e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Property changes on: Makefile\r\n"],
653e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "___________________________________________________________________\r\n",
654e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
655e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
656e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
657e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: binary file followed by file change on different file",
658e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
659e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
660e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
661e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
662e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
663e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
664e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: test_file.swf
665e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
666e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:mime-type
667e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + application/octet-stream
668e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
669e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
670e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
671e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
672e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
673e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
674e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
675e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
676e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
677e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
678e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
679e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
680e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
681e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
682e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
683e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
684e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
685e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: test_file.swf
686e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
687e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeCannot display: file marked as a binary type.
688e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkesvn:mime-type = application/octet-stream
689e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
690e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
691e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
692e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
693e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
694e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
695e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "test_file.swf",
696e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isBinary => 1,
697e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
698e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
699e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Index: Makefile\n"],
700e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "===================================================================\n",
701e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
702e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
703e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
704e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: binary file followed by file change on different file using Windows line endings",
705e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
706e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
707e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
708e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
709e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
710e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
711e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: test_file.swf
712e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
713e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:mime-type
714e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + application/octet-stream
715e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
716e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
717e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
718e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
719e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile
720e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
721e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile	(revision 60021)
722e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile	(working copy)
723e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
724e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
725e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
726e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
727e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block all:
728e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
729e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
730e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
731e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
732e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
733e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: test_file.swf
734e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
735e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockCannot display: file marked as a binary type.
736e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocksvn:mime-type = application/octet-stream
737e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
738e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
739e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
740e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockQ1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
741e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
742e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
743e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
744e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "test_file.swf",
745e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isBinary => 1,
746e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
747e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
748e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Index: Makefile\r\n"],
749e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "===================================================================\r\n",
750e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
751e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke####
752e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke# Property Changes: File change with property change
753e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke##
754e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
755e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
756e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: file change diff with property change, followed by property change diff",
757e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
758e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
759e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
760e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
761e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
762e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
763e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
764e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
765e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
766e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
767e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
768e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
769e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
770e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeAdded: svn:executable
771e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   + *
772e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
773e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
774e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile.shared
775e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
776e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeDeleted: svn:executable
777e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   - *
778e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
779e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
780e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
781e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
782e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
783e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
784e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
785e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
786e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
787e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
788e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
789e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
790e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
791e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
792e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
793e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
794e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
795e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
796e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
797e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
798e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    sourceRevision => "60021",
799e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
800e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Property changes on: Makefile.shared\n"],
801e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "___________________________________________________________________\n",
802e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
803e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke{
804e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    # New test
805e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: file change diff with property change, followed by property change diff using Windows line endings",
806e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
807e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile
808e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
809e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile	(revision 60021)
810e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile	(working copy)
811e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
812e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
813e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
814e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
815e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block all:
816e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
817e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile
818e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
819e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockAdded: svn:executable
820e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   + *
821e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
822e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
823e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile.shared
824e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
825e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockDeleted: svn:executable
826e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   - *
827e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
828e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
829e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
830e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
831e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
832e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile
833e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
834e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile	(revision 60021)
835e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile	(working copy)
836e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
837e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
838e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
839e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
840e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block all:
841e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
842e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
843e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
844e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
845e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
846e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    executableBitDelta => 1,
847e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "Makefile",
848e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
849e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    sourceRevision => "60021",
850e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
851e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Property changes on: Makefile.shared\r\n"],
852e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "___________________________________________________________________\r\n",
853e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
854e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
855e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
856e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    diffName => "SVN: file change diff with property change, followed by file change diff",
857e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    inputText => <<'END',
858e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
859e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
860e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
861e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
862e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
863e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
864e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
865e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
866e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
867e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
868e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeProperty changes on: Makefile
869e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke___________________________________________________________________
870e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeName: svn:executable
871e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke   - *
872e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
873e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile.shared
874e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
875e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile.shared	(revision 60021)
876e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile.shared	(working copy)
877e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
878e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
879e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeSCRIPTS_PATH ?= ../WebKitTools/Scripts
880e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeXCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
881e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
882e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedReturn => [
883e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke[{
884e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    svnConvertedText =>  <<'END', # Same as input text
885e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeIndex: Makefile
886e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke===================================================================
887e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke--- Makefile	(revision 60021)
888e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+++ Makefile	(working copy)
889e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke@@ -1,3 +1,4 @@
890e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke+
891e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
892e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
893e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke all:
894e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
895e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
896e458d70a0d18538346f41b503114c9ebe6b2ce12Leon ClarkeEND
897e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => -1,
898e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    indexPath => "Makefile",
899e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    isSvn => 1,
900e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    sourceRevision => "60021",
901e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}],
902e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke"Index: Makefile.shared\n"],
903e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    expectedNextLine => "===================================================================\n",
904e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke},
905e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
906e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    # New test
907e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    diffName => "SVN: file change diff with property change, followed by file change diff using Windows line endings",
908e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    inputText => toWindowsLineEndings(<<'END',
909e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile
910e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
911e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile	(revision 60021)
912e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile	(working copy)
913e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
914e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
915e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
916e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
917e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block all:
918e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
919e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockProperty changes on: Makefile
920e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block___________________________________________________________________
921e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockName: svn:executable
922e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block   - *
923e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
924e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile.shared
925e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
926e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile.shared	(revision 60021)
927e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile.shared	(working copy)
928e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
929e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
930e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockSCRIPTS_PATH ?= ../WebKitTools/Scripts
931e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockXCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
932e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
933e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
934e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedReturn => [
935e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block[{
936e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
937e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockIndex: Makefile
938e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block===================================================================
939e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block--- Makefile	(revision 60021)
940e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+++ Makefile	(working copy)
941e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block@@ -1,3 +1,4 @@
942e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block+
943e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
944e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
945e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block all:
946e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
947e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
948e8b154fd68f9b33be40a3590e58347f353835f5cSteve BlockEND
949e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block),
950e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    executableBitDelta => -1,
951e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    indexPath => "Makefile",
952e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    isSvn => 1,
953e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    sourceRevision => "60021",
954e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}],
955e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block"Index: Makefile.shared\r\n"],
956e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block    expectedNextLine => "===================================================================\r\n",
957e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block},
958e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke####
95921939df44de1705786c545cd1bf519d47250322dBen Murdoch#    Git test cases
96021939df44de1705786c545cd1bf519d47250322dBen Murdoch##
961d0825bca7fe65beaee391d30da42e937db621564Steve Block{
962d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
963d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "Git: simple",
964d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
965d0825bca7fe65beaee391d30da42e937db621564Steve Blockdiff --git a/Makefile b/Makefile
966d0825bca7fe65beaee391d30da42e937db621564Steve Blockindex f5d5e74..3b6aa92 100644
967d0825bca7fe65beaee391d30da42e937db621564Steve Block--- a/Makefile
968d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ b/Makefile
969d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
970d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
97121939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
9726c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
973d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END',
974d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
97521939df44de1705786c545cd1bf519d47250322dBen Murdochindex f5d5e74..3b6aa92 100644
976d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile
977d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile
978d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
979d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
980d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
98121939df44de1705786c545cd1bf519d47250322dBen Murdoch    isGit => 1,
9826c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
98321939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
98421939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
985d0825bca7fe65beaee391d30da42e937db621564Steve Block},
9866c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{   # New test
9876c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    diffName => "Git: new file",
9886c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    inputText => <<'END',
9896c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/foo.h b/foo.h
9906c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennew file mode 100644
9916c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 0000000..3c9f114
9926c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- /dev/null
9936c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ b/foo.h
9946c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -0,0 +1,34 @@
9956c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+<html>
9966c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/bar b/bar
9976c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex d45dd40..3494526 100644
9986c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
9996c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedReturn => [
10006c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
10016c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    svnConvertedText => <<'END',
10026c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenIndex: foo.h
10036c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennew file mode 100644
10046c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 0000000..3c9f114
10056c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- foo.h
10066c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ foo.h
10076c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -0,0 +1,34 @@
10086c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+<html>
10096c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
10106c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo.h",
10116c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isGit => 1,
10126c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isNew => 1,
10136c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
10146c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen"diff --git a/bar b/bar\n"],
10156c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedNextLine => "index d45dd40..3494526 100644\n",
10166c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
10176c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{   # New test
10186c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    diffName => "Git: file deletion",
10196c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    inputText => <<'END',
10206c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/foo b/foo
10216c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendeleted file mode 100644
10226c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 1e50d1d..0000000
10236c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- a/foo
10246c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ /dev/null
10256c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -1,1 +0,0 @@
10266c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen-line1
10276c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/bar b/bar
10286c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex d45dd40..3494526 100644
10296c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
10306c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedReturn => [
10316c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
10326c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    svnConvertedText => <<'END',
10336c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenIndex: foo
10346c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendeleted file mode 100644
10356c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 1e50d1d..0000000
10366c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- foo
10376c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ foo
10386c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -1,1 +0,0 @@
10396c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen-line1
10406c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
10416c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo",
10426c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isDeletion => 1,
10436c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isGit => 1,
10446c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
10456c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen"diff --git a/bar b/bar\n"],
10466c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedNextLine => "index d45dd40..3494526 100644\n",
10476c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
1048d0825bca7fe65beaee391d30da42e937db621564Steve Block{
1049d0825bca7fe65beaee391d30da42e937db621564Steve Block    # New test
1050d0825bca7fe65beaee391d30da42e937db621564Steve Block    diffName => "Git: Git diff followed by SVN diff", # Should not recognize SVN start
1051d0825bca7fe65beaee391d30da42e937db621564Steve Block    inputText => <<'END',
1052d0825bca7fe65beaee391d30da42e937db621564Steve Blockdiff --git a/Makefile b/Makefile
1053d0825bca7fe65beaee391d30da42e937db621564Steve Blockindex f5d5e74..3b6aa92 100644
1054d0825bca7fe65beaee391d30da42e937db621564Steve Block--- a/Makefile
1055d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ b/Makefile
1056d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
1057d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile_new
1058d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
1059d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile_new	(revision 53131)	(from Makefile:53131)
1060d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
106121939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedReturn => [
10626c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
1063d0825bca7fe65beaee391d30da42e937db621564Steve Block    svnConvertedText =>  <<'END',
1064d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile
106521939df44de1705786c545cd1bf519d47250322dBen Murdochindex f5d5e74..3b6aa92 100644
1066d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile
1067d0825bca7fe65beaee391d30da42e937db621564Steve Block+++ Makefile
1068d0825bca7fe65beaee391d30da42e937db621564Steve Block@@ -1,1 1,1 @@ public:
1069d0825bca7fe65beaee391d30da42e937db621564Steve BlockIndex: Makefile_new
1070d0825bca7fe65beaee391d30da42e937db621564Steve Block===================================================================
1071d0825bca7fe65beaee391d30da42e937db621564Steve Block--- Makefile_new	(revision 53131)	(from Makefile:53131)
1072d0825bca7fe65beaee391d30da42e937db621564Steve BlockEND
1073d0825bca7fe65beaee391d30da42e937db621564Steve Block    indexPath => "Makefile",
107421939df44de1705786c545cd1bf519d47250322dBen Murdoch    isGit => 1,
10756c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
107621939df44de1705786c545cd1bf519d47250322dBen Murdochundef],
107721939df44de1705786c545cd1bf519d47250322dBen Murdoch    expectedNextLine => undef,
1078d0825bca7fe65beaee391d30da42e937db621564Steve Block},
10796c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen####
10806c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#    Git test cases: file moves (multiple return values)
10816c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen##
10826c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
10836c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    diffName => "Git: rename (with similarity index 100%)",
10846c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    inputText => <<'END',
10856c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/foo b/foo_new
10866c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsensimilarity index 100%
10876c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename from foo
10886c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename to foo_new
10896c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/bar b/bar
10906c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex d45dd40..3494526 100644
10916c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
10926c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedReturn => [
10936c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
10946c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo",
10956c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isDeletion => 1,
10966c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
10976c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
10986c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    copiedFromPath => "foo",
10996c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo_new",
11006c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
11016c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen"diff --git a/bar b/bar\n"],
11026c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedNextLine => "index d45dd40..3494526 100644\n",
11036c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11046c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
11056c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    diffName => "rename (with similarity index < 100%)",
11066c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    inputText => <<'END',
11076c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/foo b/foo_new
11086c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsensimilarity index 99%
11096c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename from foo
11106c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename to foo_new
11116c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 1e50d1d..1459d21 100644
11126c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- a/foo
11136c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ b/foo_new
11146c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -15,3 +15,4 @@ release r deployment dep deploy:
11156c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line1
11166c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line2
11176c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line3
11186c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+line4
11196c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/bar b/bar
11206c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex d45dd40..3494526 100644
11216c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
11226c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedReturn => [
11236c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
11246c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo",
11256c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isDeletion => 1,
11266c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11276c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
11286c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    copiedFromPath => "foo",
11296c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo_new",
11306c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11316c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
11326c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo_new",
11336c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isGit => 1,
11346c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    svnConvertedText => <<'END',
11356c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenIndex: foo_new
11366c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsensimilarity index 99%
11376c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename from foo
11386c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename to foo_new
11396c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex 1e50d1d..1459d21 100644
11406c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen--- foo_new
11416c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+++ foo_new
11426c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen@@ -15,3 +15,4 @@ release r deployment dep deploy:
11436c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line1
11446c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line2
11456c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen line3
11466c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen+line4
11476c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
11486c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
11496c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen"diff --git a/bar b/bar\n"],
11506c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedNextLine => "index d45dd40..3494526 100644\n",
11516c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11526c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
11536c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    diffName => "rename (with executable bit change)",
11546c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    inputText => <<'END',
11556c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/foo b/foo_new
11566c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenold mode 100644
11576c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennew mode 100755
11586c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsensimilarity index 100%
11596c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename from foo
11606c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename to foo_new
11616c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsendiff --git a/bar b/bar
11626c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenindex d45dd40..3494526 100644
11636c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
11646c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedReturn => [
11656c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen[{
11666c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo",
11676c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isDeletion => 1,
11686c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11696c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
11706c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    copiedFromPath => "foo",
11716c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo_new",
11726c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
11736c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
1174e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    executableBitDelta => 1,
11756c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    indexPath => "foo_new",
11766c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    isGit => 1,
11776c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    svnConvertedText => <<'END',
11786c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenIndex: foo_new
11796c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenold mode 100644
11806c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennew mode 100755
11816c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsensimilarity index 100%
11826c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename from foo
11836c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenrename to foo_new
11846c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenEND
11856c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}],
11866c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen"diff --git a/bar b/bar\n"],
11876c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen    expectedNextLine => "index d45dd40..3494526 100644\n",
11886c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen},
1189d0825bca7fe65beaee391d30da42e937db621564Steve Block);
1190d0825bca7fe65beaee391d30da42e937db621564Steve Block
119121939df44de1705786c545cd1bf519d47250322dBen Murdochmy $testCasesCount = @testCaseHashRefs;
119221939df44de1705786c545cd1bf519d47250322dBen Murdochplan(tests => 2 * $testCasesCount); # Total number of assertions.
1193d0825bca7fe65beaee391d30da42e937db621564Steve Block
119421939df44de1705786c545cd1bf519d47250322dBen Murdochforeach my $testCase (@testCaseHashRefs) {
119521939df44de1705786c545cd1bf519d47250322dBen Murdoch    my $testNameStart = "parseDiff(): $testCase->{diffName}: comparing";
1196d0825bca7fe65beaee391d30da42e937db621564Steve Block
119721939df44de1705786c545cd1bf519d47250322dBen Murdoch    my $fileHandle;
119821939df44de1705786c545cd1bf519d47250322dBen Murdoch    open($fileHandle, "<", \$testCase->{inputText});
1199d0825bca7fe65beaee391d30da42e937db621564Steve Block    my $line = <$fileHandle>;
1200d0825bca7fe65beaee391d30da42e937db621564Steve Block
12012daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    my @got = VCSUtils::parseDiff($fileHandle, $line, {"shouldNotUseIndexPathEOL" => 1});
120221939df44de1705786c545cd1bf519d47250322dBen Murdoch    my $expectedReturn = $testCase->{expectedReturn};
1203d0825bca7fe65beaee391d30da42e937db621564Steve Block
120421939df44de1705786c545cd1bf519d47250322dBen Murdoch    is_deeply(\@got, $expectedReturn, "$testNameStart return value.");
1205d0825bca7fe65beaee391d30da42e937db621564Steve Block
120621939df44de1705786c545cd1bf519d47250322dBen Murdoch    my $gotNextLine = <$fileHandle>;
120721939df44de1705786c545cd1bf519d47250322dBen Murdoch    is($gotNextLine, $testCase->{expectedNextLine},  "$testNameStart next read line.");
1208d0825bca7fe65beaee391d30da42e937db621564Steve Block}
1209