15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#!/usr/bin/perl -w
25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Redistribution and use in source and binary forms, with or without
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# modification, are permitted provided that the following conditions
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# are met:
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# 1.  Redistributions of source code must retain the above copyright
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#     notice, this list of conditions and the following disclaimer.
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# 2.  Redistributions in binary form must reproduce the above copyright
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#     notice, this list of conditions and the following disclaimer in the
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#     documentation and/or other materials provided with the distribution.
13fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch#
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Unit tests of parseDiff().
265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)use strict;
285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)use warnings;
295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)use Test::More;
315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)use VCSUtils;
325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# The array of test cases.
345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)my @testCaseHashRefs = (
355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: simple",
385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53052)
425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
46fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch
475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53052)
555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
59fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch
605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "53052",
665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file (isBinary true)",
735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
1005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
1015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
1025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
1035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
1045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
1055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
1065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
1075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
1085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file (isBinary true) using Windows line endings",
1095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
1105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
1115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
1125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
1135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
1145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
1165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
1175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
1185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
1195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
1225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
1235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
1245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
1255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
1265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
1275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
1285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
1295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
1305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
1315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
1355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
1365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
1375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
1385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
1395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
1405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
1415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
1425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
1435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
1445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
1455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
1465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: leading junk",
1475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
1485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)LEADING JUNK
1505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
1525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
1535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53052)
1545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
1555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
1565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
1575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
158fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch
1595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
1605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
1615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
1625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
1635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
1645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)LEADING JUNK
1665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
1675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
1685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
1695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53052)
1705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
1715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
1725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
1735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
174fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch
1755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
1765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
1775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
1785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
1795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
1805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "53052",
1815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
1825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
1835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
1845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
1855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
1865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
1875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: copied file",
1885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
1895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile_new
1905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
1915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile_new	(revision 53131)	(from Makefile:53131)
1925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile_new	(working copy)
1935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -0,0 +1,1 @@
1945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
1955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
1965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
1975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
1985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    copiedFromPath => "Makefile",
1995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile_new",
2005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "53131",
2015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
2025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
2035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
2045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
2055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
2065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
2075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: two diffs",
2085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
2095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
2105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53131)
2125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
2135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
2145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
2155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile_new
2165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile_new	(revision 53131)	(from Makefile:53131)
2185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
2195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
2205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
2215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END',
2225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
2235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53131)
2255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
2265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
2275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
2285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
2295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
2305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
2315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
2325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "53131",
2335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
2345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile_new\n"],
2355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\n",
2365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
2375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
2385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
2395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: SVN diff followed by Git diff", # Should not recognize Git start
2405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
2415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
2425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53131)
2445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
2455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
2465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
2475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/Makefile b/Makefile
2485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
2495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/Makefile
2505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/Makefile
2515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 1,1 @@ public:
2525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
2535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
2545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
2555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
2565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
2575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 53131)
2595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
2605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
2615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools
2625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/Makefile b/Makefile
2635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
2645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/Makefile
2655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/Makefile
2665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 1,1 @@ public:
2675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
2685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
2695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
2705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
2715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "53131",
2725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
2735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
2745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
2755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
2765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)####
2775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Property Changes: Simple
2785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)##
2795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
2805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
2815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff with property change diff",
2825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
2835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
2845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
2855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
2865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
2875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
2885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
289fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
2905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
2915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
2925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
2935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
2945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
2955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
2965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
2975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
2985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
2995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
3005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
3015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
3025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
3035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
3045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
3055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
3065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
307fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
3085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
3105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
3125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
3135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
3145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
3155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
3165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
3175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
3185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
3195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
3205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
3215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
3225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
3235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff, followed by property change diff on different file",
3245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
3255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
3265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
3275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
3285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
3295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
3305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
331fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
3325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
3345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile.shared
3365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
3375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
3385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
3395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
3405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
3415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
3425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
3435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
3445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
3455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
3465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
3475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
3485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
349fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
3505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
3525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
3545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
3555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
3565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
3575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
3585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
3595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile.shared\n"],
3605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\n",
3615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
3625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
3635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
3645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: property diff, followed by file change diff",
3655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
3665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
3675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
3685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Deleted: svn:executable
3695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
3705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile.shared
3725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
3735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile.shared	(revision 60021)
3745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile.shared	(working copy)
3755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
3765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
3775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SCRIPTS_PATH ?= ../WebKitTools/Scripts
3785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
3795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
3805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
3815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
3825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => -1,
3835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
3845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
3855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
3865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile.shared\n"],
3875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\n",
3885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
3895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
3905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
3915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: property diff, followed by file change diff using Windows line endings",
3925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
3935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
3945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
3955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Deleted: svn:executable
3965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
3975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile.shared
3995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
4005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile.shared	(revision 60021)
4015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile.shared	(working copy)
4025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
4035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
4045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SCRIPTS_PATH ?= ../WebKitTools/Scripts
4055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
4065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
4075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
4085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
4095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
4105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => -1,
4115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
4125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
4135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
4145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile.shared\r\n"],
4155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\r\n",
4165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
4175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
4185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
4195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: copied file with property change",
4205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
4215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: NMakefile
4225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
4235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- NMakefile	(revision 60021)	(from Makefile:60021)
4245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ NMakefile	(working copy)
4255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -0,0 +1,1 @@
426fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch+MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
4275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: NMakefile
4295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
4305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
4315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
4325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
4335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
4345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
4355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    copiedFromPath => "Makefile",
4365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
4375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "NMakefile",
4385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
4395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
4405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
4415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
4425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
4435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
4445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
4455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: two consecutive property diffs",
4465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
4475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
4485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
4495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
4505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
4515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile.shared
4545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
4555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
4565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
4575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
4585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
4595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
4605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
4615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
4625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
4635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
4645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile.shared\n"],
4655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\n",
4665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
4675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
4685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
4695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: two consecutive property diffs using Windows line endings",
4705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
4715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
4725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
4735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
4745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
4755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile.shared
4785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
4795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
4805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
4815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
4825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
4835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
4845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
4855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
4865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
4875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
4885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
4895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile.shared\r\n"],
4905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\r\n",
4915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
4925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)####
4935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Property Changes: Binary files
4945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)##
4955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
4965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
4975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file with executable bit change",
4985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
4995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
5005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
5015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
5025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
5035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
5055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
5065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
5075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
5085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
5095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
5105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
5135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
5145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
5155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
5165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
5175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
5185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
5195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
5205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
5215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
5255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
5265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
5275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
5285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
5295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
5305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
5315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
5325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
5335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
5345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
5355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
5365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file with executable bit change usng Windows line endings",
5375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
5385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
5395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
5405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
5415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
5425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
5445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
5455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
5465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
5475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
5485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
5495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
5525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
5535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
5545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
5555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
5565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
5575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
5585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
5595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
5605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
5615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
5655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
5665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
5675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
5685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
5695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
5705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
5715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
5725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
5735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
5745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
5755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
5765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
5775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file followed by property change on different file",
5785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
5795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
5805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
5815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
5825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
5835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
5855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
5865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
5875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
5885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
5915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
5935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
5945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
5955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
5965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
5975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
5985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
5995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
6005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
6015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
6035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
6045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
6085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
6105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
6115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
6125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
6135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
6145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile\n"],
6155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\n",
6165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
6175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
6185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
6195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file followed by property change on different file using Windows line endings",
6205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
6215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
6225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
6245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
6255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
6275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
6285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
6295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
6305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
6335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
6355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
6365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
6375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
6385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
6395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
6405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
6415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
6425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
6435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
6445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
6465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
6475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
6515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
6535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
6545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
6555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
6565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
6575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
6585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile\r\n"],
6595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\r\n",
6605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
6615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
6625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
6635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file followed by file change on different file",
6645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
6655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
6665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
6685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
6695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
6715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
6725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
6735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
6745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
6775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
6795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
6815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
6825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
6835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
684fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
6855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
6875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
6885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
6895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
6905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
6915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
6925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
6935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
6945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
6955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
6985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
6995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
7015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
7025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
7035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
7045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
7055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile\n"],
7065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\n",
7075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
7085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
7095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
7105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: binary file followed by file change on different file using Windows line endings",
7115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
7125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
7135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
7145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
7155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
7165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: test_file.swf
7185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
7195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:mime-type
7205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + application/octet-stream
7215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
7245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
7265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
7275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
7285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
7295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
7305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
731fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
7325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
7345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
7355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
7365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
7375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
7385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
7395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: test_file.swf
7405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
7415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Cannot display: file marked as a binary type.
7425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)svn:mime-type = application/octet-stream
7435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
7475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
7495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
7505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "test_file.swf",
7515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isBinary => 1,
7525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
7535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
7545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile\r\n"],
7555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\r\n",
7565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
7575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)####
7585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Property Changes: File change with property change
7595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)##
7605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
7615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
7625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff with property change, followed by property change diff",
7635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
7645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
7655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
7665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
7675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
7685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
7695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
770fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
7715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
7735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
7755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
7765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
7775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
7785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile.shared
7815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
7825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Deleted: svn:executable
7835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
7845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
7855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
7865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
7875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
7885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
7895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
7905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
7915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
7925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
7935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
794fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
7955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
7975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
7995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
8015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
8025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
8035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
8045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
8055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
8065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
8075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile.shared\n"],
8085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\n",
8095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
8105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
8115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
8125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff with property change, followed by property change diff using Windows line endings",
8135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
8145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
8155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
8165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
8175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
8185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
8195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
820fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
8215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
8235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
8255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
8265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Added: svn:executable
8275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   + *
8285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile.shared
8315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
8325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Deleted: svn:executable
8335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
8345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
8355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
8365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
8375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
8385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
8395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
8405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
8415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
8425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
8435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
8445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
845fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
8465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
8485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
8525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
8535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
8545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
8555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
8565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
8575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
8585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
8595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Property changes on: Makefile.shared\r\n"],
8605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "___________________________________________________________________\r\n",
8615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
8625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
8635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
8645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff with property change, followed by file change diff",
8655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
8665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
8675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
8685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
8695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
8705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
8715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
872fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
8735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
8755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
8775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
8785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
8795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
8805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
8815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile.shared
8825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
8835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile.shared	(revision 60021)
8845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile.shared	(working copy)
8855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
8865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
8875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SCRIPTS_PATH ?= ../WebKitTools/Scripts
8885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
8895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
8905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
8915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
8925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END', # Same as input text
8935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
8945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
8955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
8965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
8975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
8985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
899fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
9005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
9025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
9055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => -1,
9065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
9075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
9085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
9095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
9105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
9115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile.shared\n"],
9125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\n",
9135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
9145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
9155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
9165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "SVN: file change diff with property change, followed by file change diff using Windows line endings",
9175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => toWindowsLineEndings(<<'END',
9185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
9195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
9205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
9215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
9225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
9235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
924fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
9255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
9275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Property changes on: Makefile
9295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)___________________________________________________________________
9305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Name: svn:executable
9315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)   - *
9325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile.shared
9345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
9355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile.shared	(revision 60021)
9365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile.shared	(working copy)
9375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
9385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
9395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SCRIPTS_PATH ?= ../WebKitTools/Scripts
9405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
9415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
9425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
9435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
9445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
9455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  toWindowsLineEndings(<<'END', # Same as input text
9465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
9475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
9485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile	(revision 60021)
9495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile	(working copy)
9505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,3 +1,4 @@
9515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
952fff8884795cb540f87cf6e6d67b629519b00eb8bBen Murdoch MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
9535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) all:
9555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
9575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
9585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)),
9595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => -1,
9605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
9615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isSvn => 1,
9625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
9635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    sourceRevision => "60021",
9645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
9655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"Index: Makefile.shared\r\n"],
9665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "===================================================================\r\n",
9675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
9685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)####
9695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#    Git test cases
9705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)##
9715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
9725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
9735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: simple",
9745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
9755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/Makefile b/Makefile
9765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
9775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/Makefile
9785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/Makefile
9795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +1,1 @@ public:
9805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
9815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
9825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
9835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END',
9845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
9855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
9865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile
9875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile
9885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +1,1 @@ public:
9895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
9905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
9915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
9925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
9935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
9945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
9955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
9965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
9975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
9985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
9995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: Append new line to the end of an existing file",
10005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
10015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo
10025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 863339f..db418b2 100644
10035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/foo
10045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/foo
10055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1 +1,2 @@
10065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Passed
10075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
10085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
10105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
10115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END',
10125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo
10135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 863339f..db418b2 100644
10145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- foo
10155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ foo
10165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1 +1,2 @@
10175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Passed
10185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+
10195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
10215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
10225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
10235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
10245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
10255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
10265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
10275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){   # New test
10285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: new file",
10295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
10305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo.h b/foo.h
10315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new file mode 100644
10325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 0000000..3c9f114
10335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- /dev/null
10345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/foo.h
10355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -0,0 +1,34 @@
10365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+<html>
10375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/bar b/bar
10385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index d45dd40..3494526 100644
10395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
10415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
10425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText => <<'END',
10435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo.h
10445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new file mode 100644
10455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 0000000..3c9f114
10465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- foo.h
10475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ foo.h
10485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -0,0 +1,34 @@
10495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+<html>
10505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo.h",
10525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
10535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isNew => 1,
10545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
10555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
10565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"diff --git a/bar b/bar\n"],
10575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "index d45dd40..3494526 100644\n",
10585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
10595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){   # New test
10605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: file deletion",
10615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
10625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo
10635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)deleted file mode 100644
10645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 1e50d1d..0000000
10655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/foo
10665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ /dev/null
10675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
10685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-line1
10695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/bar b/bar
10705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index d45dd40..3494526 100644
10715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
10735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
10745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText => <<'END',
10755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo
10765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)deleted file mode 100644
10775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 1e50d1d..0000000
10785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- foo
10795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ foo
10805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +0,0 @@
10815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)-line1
10825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
10835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
10845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isDeletion => 1,
10855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
10865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
10875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
10885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"diff --git a/bar b/bar\n"],
10895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "index d45dd40..3494526 100644\n",
10905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
10915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
10925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
10935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: Git diff followed by SVN diff", # Should not recognize SVN start
10945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
10955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/Makefile b/Makefile
10965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
10975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/Makefile
10985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/Makefile
10995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +1,1 @@ public:
11005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile_new
11015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
11025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile_new	(revision 53131)	(from Makefile:53131)
11035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
11055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
11065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END',
11075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile
11085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index f5d5e74..3b6aa92 100644
11095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile
11105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ Makefile
11115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -1,1 +1,1 @@ public:
11125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: Makefile_new
11135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)===================================================================
11145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- Makefile_new	(revision 53131)	(from Makefile:53131)
11155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "Makefile",
11175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
11185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
11195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
11205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
11215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
11225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    # New test
11255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: file that only has an executable bit change",
11265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
11275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo
11285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)old mode 100644
11295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new mode 100755
11305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
11325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
11335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText =>  <<'END',
11345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo
11355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)old mode 100644
11365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new mode 100755
11375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
11395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
11405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
11415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 0,
11425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
11435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)undef],
11445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => undef,
11455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)####
11475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#    Git test cases: file moves (multiple return values)
11485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)##
11495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "Git: rename (with similarity index 100%)",
11515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
11525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo_new
11535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)similarity index 100%
11545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename from foo
11555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename to foo_new
11565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/bar b/bar
11575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index d45dd40..3494526 100644
11585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
11605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
11615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
11625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isDeletion => 1,
11635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    copiedFromPath => "foo",
11665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo_new",
11675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
11685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"diff --git a/bar b/bar\n"],
11695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "index d45dd40..3494526 100644\n",
11705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "rename (with similarity index < 100%)",
11735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
11745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo_new
11755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)similarity index 99%
11765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename from foo
11775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename to foo_new
11785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 1e50d1d..1459d21 100644
11795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- a/foo
11805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ b/foo_new
11815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -15,3 +15,4 @@ release r deployment dep deploy:
11825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line1
11835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line2
11845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line3
11855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+line4
11865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/bar b/bar
11875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index d45dd40..3494526 100644
11885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
11895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
11905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
11915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
11925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isDeletion => 1,
11935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    copiedFromPath => "foo",
11965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo_new",
11975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
11985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
11995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo_new",
12005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
12015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 1,
12025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText => <<'END',
12035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo_new
12045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)similarity index 99%
12055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename from foo
12065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename to foo_new
12075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index 1e50d1d..1459d21 100644
12085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)--- foo_new
12095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+++ foo_new
12105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)@@ -15,3 +15,4 @@ release r deployment dep deploy:
12115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line1
12125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line2
12135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) line3
12145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)+line4
12155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
12165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
12175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"diff --git a/bar b/bar\n"],
12185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "index d45dd40..3494526 100644\n",
12195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
12205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
12215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    diffName => "rename (with executable bit change)",
12225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    inputText => <<'END',
12235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/foo b/foo_new
12245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)old mode 100644
12255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new mode 100755
12265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)similarity index 100%
12275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename from foo
12285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename to foo_new
12295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)diff --git a/bar b/bar
12305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)index d45dd40..3494526 100644
12315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
12325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedReturn => [
12335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)[{
12345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo",
12355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isDeletion => 1,
12365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
12375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
12385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    copiedFromPath => "foo",
12395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo_new",
12405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
12415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
12425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    executableBitDelta => 1,
12435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    indexPath => "foo_new",
12445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    isGit => 1,
12455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    numTextChunks => 0,
12465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    svnConvertedText => <<'END',
12475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)Index: foo_new
12485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)old mode 100644
12495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)new mode 100755
12505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)similarity index 100%
12515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename from foo
12525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)rename to foo_new
12535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)END
12545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}],
12555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)"diff --git a/bar b/bar\n"],
12565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    expectedNextLine => "index d45dd40..3494526 100644\n",
12575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)},
12585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles));
12595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)my $testCasesCount = @testCaseHashRefs;
12615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)plan(tests => 2 * $testCasesCount); # Total number of assertions.
12625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)foreach my $testCase (@testCaseHashRefs) {
12645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my $testNameStart = "parseDiff(): $testCase->{diffName}: comparing";
12655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my $fileHandle;
12675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    open($fileHandle, "<", \$testCase->{inputText});
12685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my $line = <$fileHandle>;
12695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my @got = VCSUtils::parseDiff($fileHandle, $line, {"shouldNotUseIndexPathEOL" => 1});
12715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my $expectedReturn = $testCase->{expectedReturn};
12725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    is_deeply(\@got, $expectedReturn, "$testNameStart return value.");
12745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
12755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    my $gotNextLine = <$fileHandle>;
12765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    is($gotNextLine, $testCase->{expectedNextLine},  "$testNameStart next read line.");
12775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}
1278