summaryrefslogtreecommitdiffstats
path: root/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl')
-rw-r--r--WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl743
1 files changed, 0 insertions, 743 deletions
diff --git a/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl b/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl
deleted file mode 100644
index 6914051..0000000
--- a/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl
+++ /dev/null
@@ -1,743 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Copyright (C) Research in Motion Limited 2010. All Rights Reserved.
-# Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Apple Computer, Inc. ("Apple") nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Unit tests of parseSvnProperty().
-
-use strict;
-use warnings;
-
-use Test::More;
-use VCSUtils;
-
-my @testCaseHashRefs = (
-####
-# Simple test cases
-##
-{
- # New test
- diffName => "simple: add svn:executable",
- inputText => <<'END',
-Added: svn:executable
- + *
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: delete svn:executable",
- inputText => <<'END',
-Deleted: svn:executable
- - *
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => -1,
- value => "*",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: add svn:mergeinfo",
- inputText => <<'END',
-Added: svn:mergeinfo
- Merged /trunk/Makefile:r33020
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => 1,
- value => "/trunk/Makefile:r33020",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: delete svn:mergeinfo",
- inputText => <<'END',
-Deleted: svn:mergeinfo
- Reverse-merged /trunk/Makefile:r33020
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => -1,
- value => "/trunk/Makefile:r33020",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: modified svn:mergeinfo",
- inputText => <<'END',
-Modified: svn:mergeinfo
- Reverse-merged /trunk/Makefile:r33020
- Merged /trunk/Makefile:r41697
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => 1,
- value => "/trunk/Makefile:r41697",
-},
-undef],
- expectedNextLine => undef,
-},
-####
-# Using SVN 1.4 syntax
-##
-{
- # New test
- diffName => "simple: modified svn:mergeinfo using SVN 1.4 syntax",
- inputText => <<'END',
-Name: svn:mergeinfo
- Reverse-merged /trunk/Makefile:r33020
- Merged /trunk/Makefile:r41697
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => 1,
- value => "/trunk/Makefile:r41697",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: delete svn:executable using SVN 1.4 syntax",
- inputText => <<'END',
-Name: svn:executable
- - *
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => -1,
- value => "*",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "simple: add svn:executable using SVN 1.4 syntax",
- inputText => <<'END',
-Name: svn:executable
- + *
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-undef],
- expectedNextLine => undef,
-},
-####
-# Property value followed by empty line and start of next diff
-##
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of next diff",
- inputText => <<'END',
-Added: svn:executable
- + *
-
-Index: Makefile.shared
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\n"],
- expectedNextLine => "Index: Makefile.shared\n",
-},
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of next diff using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Added: svn:executable
- + *
-
-Index: Makefile.shared
-END
-),
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\r\n"],
- expectedNextLine => "Index: Makefile.shared\r\n",
-},
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of next property diff",
- inputText => <<'END',
-Added: svn:executable
- + *
-
-Property changes on: Makefile.shared
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\n"],
- expectedNextLine => "Property changes on: Makefile.shared\n",
-},
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of next property diff using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Added: svn:executable
- + *
-
-Property changes on: Makefile.shared
-END
-),
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\r\n"],
- expectedNextLine => "Property changes on: Makefile.shared\r\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of next diff",
- inputText => <<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Index: Makefile.shared
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\nlong sentence that spans\nmultiple lines.",
-},
-"\n"],
- expectedNextLine => "Index: Makefile.shared\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of next diff using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Index: Makefile.shared
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\r\nlong sentence that spans\r\nmultiple lines.",
-},
-"\r\n"],
- expectedNextLine => "Index: Makefile.shared\r\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of next property diff",
- inputText => <<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Property changes on: Makefile.shared
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\nlong sentence that spans\nmultiple lines.",
-},
-"\n"],
- expectedNextLine => "Property changes on: Makefile.shared\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of next property diff using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Property changes on: Makefile.shared
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\r\nlong sentence that spans\r\nmultiple lines.",
-},
-"\r\n"],
- expectedNextLine => "Property changes on: Makefile.shared\r\n",
-},
-####
-# Property value followed by empty line and start of binary patch
-##
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of binary patch",
- inputText => <<'END',
-Added: svn:executable
- + *
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\n",
-},
-{
- # New test
- diffName => "add svn:executable, followed by empty line and start of binary patch using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Added: svn:executable
- + *
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
-),
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"\r\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\r\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of binary patch",
- inputText => <<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\nlong sentence that spans\nmultiple lines.",
-},
-"\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by empty line and start of binary patch using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\r\nlong sentence that spans\r\nmultiple lines.",
-},
-"\r\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\r\n",
-},
-{
- # New test
- diffName => "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch",
- inputText => <<'END',
-Modified: documentation
- - A
-long sentence that spans
-multiple lines.
- + Another
-long sentence that spans
-multiple lines.
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "Another\nlong sentence that spans\nmultiple lines.",
-},
-"\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\n",
-},
-{
- # New test
- diffName => "multi-line '-' change, followed by multi-line '+' change, empty line, and start of binary patch using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Modified: documentation
- - A
-long sentence that spans
-multiple lines.
- + Another
-long sentence that spans
-multiple lines.
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "Another\r\nlong sentence that spans\r\nmultiple lines.",
-},
-"\r\n"],
- expectedNextLine => "Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==\r\n",
-},
-####
-# Successive properties
-##
-{
- # New test
- diffName => "single-line '+' change followed by custom property with single-line '+' change",
- inputText => <<'END',
-Added: svn:executable
- + *
-Added: documentation
- + A sentence.
-END
- expectedReturn => [
-{
- name => "svn:executable",
- propertyChangeDelta => 1,
- value => "*",
-},
-"Added: documentation\n"],
- expectedNextLine => " + A sentence.\n",
-},
-{
- # New test
- diffName => "multi-line '+' change, followed by svn:executable",
- inputText => <<'END',
-Name: documentation
- + A
-long sentence that spans
-multiple lines.
-Name: svn:executable
- + *
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A\nlong sentence that spans\nmultiple lines.",
-},
-"Name: svn:executable\n"],
- expectedNextLine => " + *\n",
-},
-{
- # New test
- diffName => "multi-line '-' change, followed by multi-line '+' change and add svn:executable",
- inputText => <<'END',
-Modified: documentation
- - A
-long sentence that spans
-multiple lines.
- + Another
-long sentence that spans
-multiple lines.
-Added: svn:executable
- + *
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "Another\nlong sentence that spans\nmultiple lines.",
-},
-"Added: svn:executable\n"],
- expectedNextLine => " + *\n",
-},
-{
- # New test
- diffName => "'Merged' change followed by 'Merged' change",
- inputText => <<'END',
-Added: svn:mergeinfo
- Merged /trunk/Makefile:r33020
- Merged /trunk/Makefile.shared:r58350
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => 1,
- value => "/trunk/Makefile.shared:r58350",
-},
-undef],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "'Reverse-merged' change followed by 'Reverse-merged' change",
- inputText => <<'END',
-Deleted: svn:mergeinfo
- Reverse-merged /trunk/Makefile:r33020
- Reverse-merged /trunk/Makefile.shared:r58350
-END
- expectedReturn => [
-{
- name => "svn:mergeinfo",
- propertyChangeDelta => -1,
- value => "/trunk/Makefile.shared:r58350",
-},
-undef],
- expectedNextLine => undef,
-},
-####
-# Property values with trailing new lines.
-##
-# FIXME: We do not support property values with trailing new lines, since it is difficult to
-# disambiguate them from the empty line that preceeds the contents of a binary patch as
-# in the test case (above): "multi-line '+' change, followed by empty line and start of binary patch".
-{
- # New test
- diffName => "single-line '+' with trailing new line",
- inputText => <<'END',
-Added: documentation
- + A sentence.
-
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A sentence.",
-},
-"\n"],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "single-line '+' with trailing new line using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Added: documentation
- + A sentence.
-
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A sentence.",
-},
-"\r\n"],
- expectedNextLine => undef,
-},
-{
- # New test
- diffName => "single-line '+' with trailing new line, followed by empty line and start of binary patch",
- inputText => <<'END',
-Added: documentation
- + A sentence.
-
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A sentence.",
-},
-"\n"],
- expectedNextLine => "\n",
-},
-{
- # New test
- diffName => "single-line '+' with trailing new line, followed by empty line and start of binary patch using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Added: documentation
- + A sentence.
-
-
-Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => 1,
- value => "A sentence.",
-},
-"\r\n"],
- expectedNextLine => "\r\n",
-},
-{
- # New test
- diffName => "single-line '-' change with trailing new line, and single-line '+' change",
- inputText => <<'END',
-Modified: documentation
- - A long sentence.
-
- + A sentence.
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => -1, # Since we only interpret the '-' property.
- value => "A long sentence.",
-},
-"\n"],
- expectedNextLine => " + A sentence.\n",
-},
-{
- # New test
- diffName => "single-line '-' change with trailing new line, and single-line '+' change using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Modified: documentation
- - A long sentence.
-
- + A sentence.
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => -1, # Since we only interpret the '-' property.
- value => "A long sentence.",
-},
-"\r\n"],
- expectedNextLine => " + A sentence.\r\n",
-},
-{
- # New test
- diffName => "multi-line '-' change with trailing new line, and multi-line '+' change",
- inputText => <<'END',
-Modified: documentation
- - A
-long sentence that spans
-multiple lines.
-
- + Another
-long sentence that spans
-multiple lines.
-END
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => -1, # Since we only interpret the '-' property.
- value => "A\nlong sentence that spans\nmultiple lines.",
-},
-"\n"],
- expectedNextLine => " + Another\n",
-},
-{
- # New test
- diffName => "multi-line '-' change with trailing new line, and multi-line '+' change using Windows line endings",
- inputText => toWindowsLineEndings(<<'END',
-Modified: documentation
- - A
-long sentence that spans
-multiple lines.
-
- + Another
-long sentence that spans
-multiple lines.
-END
-),
- expectedReturn => [
-{
- name => "documentation",
- propertyChangeDelta => -1, # Since we only interpret the '-' property.
- value => "A\r\nlong sentence that spans\r\nmultiple lines.",
-},
-"\r\n"],
- expectedNextLine => " + Another\r\n",
-},
-);
-
-my $testCasesCount = @testCaseHashRefs;
-plan(tests => 2 * $testCasesCount); # Total number of assertions.
-
-foreach my $testCase (@testCaseHashRefs) {
- my $testNameStart = "parseSvnProperty(): $testCase->{diffName}: comparing";
-
- my $fileHandle;
- open($fileHandle, "<", \$testCase->{inputText});
- my $line = <$fileHandle>;
-
- my @got = VCSUtils::parseSvnProperty($fileHandle, $line);
- my $expectedReturn = $testCase->{expectedReturn};
-
- is_deeply(\@got, $expectedReturn, "$testNameStart return value.");
-
- my $gotNextLine = <$fileHandle>;
- is($gotNextLine, $testCase->{expectedNextLine}, "$testNameStart next read line.");
-}