[Codestriker-commits] CVS update: codestriker CHANGELOG
Brought to you by:
sits
|
From: <si...@us...> - 2008-08-04 10:33:38
|
User: sits
Date: 08/08/04 03:33:37
Modified: t/FileParser subversion.t git.t
. CHANGELOG
Added: t/FileParser hg.t
test/testtopictexts hg-diff1.txt
Log:
* Ability to parse hg diffs (Mercurial SCM) correctly.
Index: subversion.t
===================================================================
RCS file: /cvsroot/codestriker/codestriker/t/FileParser/subversion.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- subversion.t 2 Aug 2008 04:47:39 -0000 1.1
+++ subversion.t 4 Aug 2008 10:33:33 -0000 1.2
@@ -3,8 +3,10 @@
use strict;
use Fatal qw / open close /;
use Test::More tests => 33;
+use Test::Differences;
use lib '../../lib';
+use Codestriker;
use Codestriker::FileParser::SubversionDiff;
assert_delta_equals('../../test/testtopictexts/svn-Propdiff1.txt', ());
@@ -12,9 +14,9 @@
assert_delta_equals('../../test/testtopictexts/svn-Propdiff3.txt', ());
assert_delta_equals('../../test/testtopictexts/svn-Propdiff4.txt',
make_delta(filename => 'parseBuildLogs',
- old_linenumber => 9,
- new_linenumber => 9,
- revision => 7,
+ old_linenumber => '9',
+ new_linenumber => '9',
+ revision => '7',
text => <<'END_DELTA',
if [[ "${MYHOSTNAME}" == "compaq" ]]; then
DATABASEHOST="elmo";
@@ -29,9 +31,9 @@
END_DELTA
),
make_delta(filename => 'buildCleanup.py',
- old_linenumber => 28,
- new_linenumber => 28,
- revision => 7,
+ old_linenumber => '28',
+ new_linenumber => '28',
+ revision => '7',
text => <<'END_DELTA',
# GCOMDirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/GCOM']
# EPRODirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/EPRODATA']
@@ -49,9 +51,9 @@
assert_delta_equals('../../test/testtopictexts/svn-Propdiff5.txt',
make_delta(filename => 'parseBuildLogs',
- old_linenumber => 9,
- new_linenumber => 9,
- revision => 6,
+ old_linenumber => '9',
+ new_linenumber => '9',
+ revision => '6',
text => <<'END_DELTA',
if [[ "${MYHOSTNAME}" == "compaq" ]]; then
DATABASEHOST="elmo";
@@ -66,9 +68,9 @@
END_DELTA
),
make_delta(filename => 'buildCleanup.py',
- old_linenumber => 28,
- new_linenumber => 28,
- revision => 6,
+ old_linenumber => '28',
+ new_linenumber => '28',
+ revision => '6',
text => <<'END_DELTA',
# GCOMDirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/GCOM']
# EPRODirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/EPRODATA']
@@ -86,9 +88,9 @@
assert_delta_equals('../../test/testtopictexts/svn-Propdiff6.txt',
make_delta(filename => 'parseBuildLogs',
- old_linenumber => 9,
- new_linenumber => 9,
- revision => 6,
+ old_linenumber => '9',
+ new_linenumber => '9',
+ revision => '6',
text => <<'END_DELTA',
if [[ "${MYHOSTNAME}" == "compaq" ]]; then
DATABASEHOST="elmo";
@@ -103,9 +105,9 @@
END_DELTA
),
make_delta(filename => 'buildCleanup.py',
- old_linenumber => 28,
- new_linenumber => 28,
- revision => 6,
+ old_linenumber => '28',
+ new_linenumber => '28',
+ revision => '6',
text => <<'END_DELTA',
# GCOMDirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/GCOM']
# EPRODirectories = ['/usr/local/apache2/htdocs/docs', '/export/home/buildmaster/cruisecontrol/EPRODATA']
@@ -123,9 +125,9 @@
assert_delta_equals('../../test/testtopictexts/svn-Propdiff7.txt',
make_delta(filename => 'users/clechasseur/local/devsetup/CoveoDevSetup.iss',
- old_linenumber => 31,
- new_linenumber => 31,
- revision => 44307,
+ old_linenumber => '31',
+ new_linenumber => '31',
+ revision => '44307',
text => <<'END_DELTA',
[Languages]
@@ -136,9 +138,9 @@
assert_delta_equals('../../test/testtopictexts/svn-Propdiff8.txt',
make_delta(filename => 'users/clechasseur/local/devsetup/CoveoDevSetup.iss',
- old_linenumber => 31,
- new_linenumber => 31,
- revision => 44309,
+ old_linenumber => '31',
+ new_linenumber => '31',
+ revision => '44309',
text => <<'END_DELTA',
[Languages]
@@ -149,9 +151,9 @@
assert_delta_equals('../../test/testtopictexts/svn-look-diff1.txt',
make_delta(filename => 't1.txt',
- old_linenumber => 0,
- new_linenumber => 1,
- revision => 0,
+ old_linenumber => '0',
+ new_linenumber => '1',
+ revision => '0',
text => <<'END_DELTA',
+line1
+line2
@@ -161,9 +163,9 @@
assert_delta_equals('../../test/testtopictexts/svn-look-diff2.txt',
make_delta(filename => 't1.txt',
- old_linenumber => 1,
- new_linenumber => 1,
- revision => 89,
+ old_linenumber => '1',
+ new_linenumber => '1',
+ revision => '89',
text => <<'END_DELTA',
+line0
line1
@@ -175,9 +177,9 @@
assert_delta_equals('../../test/testtopictexts/svn-look-diff3.txt',
make_delta(filename => 't1.txt',
- old_linenumber => 1,
- new_linenumber => 0,
- revision => 90,
+ old_linenumber => '1',
+ new_linenumber => '0',
+ revision => '90',
text => <<'END_DELTA',
-line0
-line1
@@ -189,9 +191,9 @@
assert_delta_equals('../../test/testtopictexts/svn-look-diff4.txt',
make_delta(filename => 't1.txt',
- old_linenumber => 1,
- new_linenumber => 1,
- revision => 92,
+ old_linenumber => '1',
+ new_linenumber => '1',
+ revision => '92',
text => <<'END_DELTA',
-l1
+l1
@@ -200,9 +202,9 @@
END_DELTA
),
make_delta(filename => 't2.txt',
- old_linenumber => 1,
- new_linenumber => 0,
- revision => 92,
+ old_linenumber => '1',
+ new_linenumber => '0',
+ revision => '92',
text => <<'END_DELTA',
-l1
END_DELTA
@@ -214,11 +216,12 @@
new_linenumber => -1,
text => '',
binary => 1,
+ revision => $Codestriker::PATCH_REVISION
),
make_delta(filename => 't2.txt',
- old_linenumber => 0,
- new_linenumber => 1,
- revision => 93,
+ old_linenumber => '0',
+ new_linenumber => '1',
+ revision => '93',
text => <<'END_DELTA',
+aaa
+bbb
@@ -232,11 +235,12 @@
new_linenumber => -1,
text => '',
binary => 1,
+ revision => $Codestriker::REMOVED_REVISION
),
make_delta(filename => 't1.txt',
- old_linenumber => 1,
- new_linenumber => 1,
- revision => 94,
+ old_linenumber => '1',
+ new_linenumber => '1',
+ revision => '94',
text => <<'END_DELTA',
l1
+l11
@@ -246,9 +250,9 @@
END_DELTA
),
make_delta(filename => 't2.txt',
- old_linenumber => 1,
- new_linenumber => 0,
- revision => 94,
+ old_linenumber => '1',
+ new_linenumber => '0',
+ revision => '94',
text => <<'END_DELTA',
-aaa
-bbb
@@ -256,9 +260,9 @@
END_DELTA
),
make_delta(filename => 't3.txt',
- old_linenumber => 0,
- new_linenumber => 1,
- revision => 0,
+ old_linenumber => '0',
+ new_linenumber => '1',
+ revision => '0',
text => <<'END_DELTA',
+labuda
END_DELTA
@@ -301,7 +305,7 @@
# Check that the extracted deltas match what is expected.
is( @actual, @expected, "Number of deltas for file: $filename" );
for ( my $index = 0; $index < @actual; $index++ ) {
- is_deeply( $actual[$index], $expected[$index],
- "Delta $index in file $filename" );
+ eq_or_diff( $actual[$index], $expected[$index],
+ "Delta $index in file $filename" );
}
}
\ No newline at end of file
Index: git.t
===================================================================
RCS file: /cvsroot/codestriker/codestriker/t/FileParser/git.t,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- git.t 14 Jul 2008 06:54:00 -0000 1.2
+++ git.t 4 Aug 2008 10:33:33 -0000 1.3
@@ -5,6 +5,7 @@
use Test::More tests => 7;
use lib '../../lib';
+use Codestriker;
use Codestriker::FileParser::PatchUnidiff;
# Parse the test git patch file.
Index: hg.t
===================================================================
RCS file: hg.t
diff -N hg.t
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hg.t 4 Aug 2008 10:33:33 -0000 1.1
@@ -0,0 +1,126 @@
+# Tests to ensure that hg diffs (Mercurial SCM) are handled correctly.
+
+use strict;
+use Fatal qw / open close /;
+use Test::More tests => 6;
+
+use lib '../../lib';
+use Codestriker;
+use Codestriker::FileParser::PatchUnidiff;
+
+# Parse the test hg patch file.
+my $fh;
+open( $fh, '<', '../../test/testtopictexts/hg-diff1.txt' );
+my @deltas = Codestriker::FileParser::PatchUnidiff->parse($fh);
+close($fh);
+
+# Set what the expected output should be.
+my @expected;
+push @expected, make_delta(
+ filename => 'b/addedtest.txt',
+ old_linenumber => 0,
+ new_linenumber => 1,
+ revision => $Codestriker::ADDED_REVISION,
+ text => <<'END_DELTA',
++Lorem ipsum dolor sit amet, consectetuer
++adipiscing elit. Sed laoreet erat vel arcu. Vestibulum
++ante ipsum primis in faucibus orci luctus et ultrices posuere
++cubilia Curae; Aliquam et diam ac nisi congue semper. Nulla
++consequat. Cras molestie dictum turpis. Aenean lorem diam,
++luctus at, tempus ac, semper ut, lorem. Nulla consequat, velit
++eu tincidunt commodo, diam lorem sodales leo, vitae aliquet leo
++leo eget eros. Vestibulum consectetuer iaculis pede.
++Suspendisse potenti. Sed non magna. Donec vel augue.
++Sed iaculis nisi sed nunc. Sed cursus tellus eu risus.
++Ut eros quam, imperdiet et, ultricies non, iaculis at, sem.
++Donec et lacus in massa aliquet pretium. Suspendisse lacus.
++Vestibulum ante ipsum primis in faucib
++us orci luctus et ultrices posuere cubilia Curae;
+END_DELTA
+);
+
+push @expected, make_delta(
+ filename => 'a/deletetest.txt',
+ old_linenumber => 1,
+ new_linenumber => 0,
+ revision => $Codestriker::REMOVED_REVISION,
+ text => <<'END_DELTA',
+-Class aptent taciti sociosqu ad litora torquent
+-per conubia nostra, per inceptos himenaeos.
+-Aliquam auctor. Proin tempor commodo nisl.
+END_DELTA
+);
+
+push @expected, make_delta(
+ filename => 'b/feedback.html',
+ old_linenumber => 10,
+ new_linenumber => 10,
+ text => <<'END_DELTA',
+ }
+ div.modalFeedback h1{
+ margin: 20px 20px 20px 20px;
+- font-size: 18pt;
+ }
+ #feedbackForm textarea {
+ font-family: Arial,Helvetica,sans-serif;
+END_DELTA
+);
+
+push @expected, make_delta(
+ filename => 'b/feedback.html',
+ old_linenumber => 23,
+ new_linenumber => 22,
+ text => <<'END_DELTA',
+ border: solid 3px #ddddFF;
+ padding: 3px;
+ width: 50px;
++ height: 50px;
+ }
+ #feedbackForm input#feedback_email{
+ width: 60%;
+END_DELTA
+);
+
+push @expected, make_delta(
+ filename => 'b/feedback.html',
+ old_linenumber => 31,
+ new_linenumber => 31,
+ text => <<'END_DELTA',
+ </head>
+ <body>
+
+-Hello from hg
++Hello to codestriker from hg
+
+ </body>
+ </html>
+END_DELTA
+);
+
+# Check that the extracted deltas match what is expected.
+is( @deltas, @expected, "Number of deltas in hg diff 1" );
+for ( my $index = 0; $index < @deltas; $index++ ) {
+ is_deeply( $deltas[$index], $expected[$index],
+ "Delta $index in hg diff 1" );
+}
+
+# Convenience function for creating a delta object.
+sub make_delta {
+
+ # Set constant properties for all git deltas.
+ my $delta = {};
+ $delta->{binary} = 0;
+ $delta->{repmatch} = 0;
+ $delta->{revision} = $Codestriker::PATCH_REVISION;
+ $delta->{description} = '';
+
+ # Apply the passed in arguments.
+ my %arg = @_;
+ $delta->{filename} = $arg{filename};
+ $delta->{old_linenumber} = $arg{old_linenumber};
+ $delta->{new_linenumber} = $arg{new_linenumber};
+ $delta->{text} = $arg{text};
+ $delta->{revision} = $arg{revision} if exists $arg{revision};
+
+ return $delta;
+}
Index: hg-diff1.txt
===================================================================
RCS file: hg-diff1.txt
diff -N hg-diff1.txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hg-diff1.txt 4 Aug 2008 10:33:34 -0000 1.1
@@ -0,0 +1,54 @@
+diff -r 24ed0f64c715 -r 6d633e6509fe addedtest.txt
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/addedtest.txt Sun Aug 03 16:58:46 2008 +0200
+@@ -0,0 +1,14 @@
++Lorem ipsum dolor sit amet, consectetuer
++adipiscing elit. Sed laoreet erat vel arcu. Vestibulum
++ante ipsum primis in faucibus orci luctus et ultrices posuere
++cubilia Curae; Aliquam et diam ac nisi congue semper. Nulla
++consequat. Cras molestie dictum turpis. Aenean lorem diam,
++luctus at, tempus ac, semper ut, lorem. Nulla consequat, velit
++eu tincidunt commodo, diam lorem sodales leo, vitae aliquet leo
++leo eget eros. Vestibulum consectetuer iaculis pede.
++Suspendisse potenti. Sed non magna. Donec vel augue.
++Sed iaculis nisi sed nunc. Sed cursus tellus eu risus.
++Ut eros quam, imperdiet et, ultricies non, iaculis at, sem.
++Donec et lacus in massa aliquet pretium. Suspendisse lacus.
++Vestibulum ante ipsum primis in faucib
++us orci luctus et ultrices posuere cubilia Curae;
+\ No newline at end of file
+diff -r 24ed0f64c715 -r 6d633e6509fe deletetest.txt
+--- a/deletetest.txt Sun Aug 03 16:57:40 2008 +0200
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,3 +0,0 @@
+-Class aptent taciti sociosqu ad litora torquent
+-per conubia nostra, per inceptos himenaeos.
+-Aliquam auctor. Proin tempor commodo nisl.
+diff -r 24ed0f64c715 -r 6d633e6509fe feedback.html
+--- a/feedback.html Sun Aug 03 16:57:40 2008 +0200
++++ b/feedback.html Sun Aug 03 16:58:46 2008 +0200
+@@ -10,7 +10,6 @@
+ }
+ div.modalFeedback h1{
+ margin: 20px 20px 20px 20px;
+- font-size: 18pt;
+ }
+ #feedbackForm textarea {
+ font-family: Arial,Helvetica,sans-serif;
+@@ -23,6 +22,7 @@
+ border: solid 3px #ddddFF;
+ padding: 3px;
+ width: 50px;
++ height: 50px;
+ }
+ #feedbackForm input#feedback_email{
+ width: 60%;
+@@ -31,7 +31,7 @@
+ </head>
+ <body>
+
+-Hello from hg
++Hello to codestriker from hg
+
+ </body>
+ </html>
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/codestriker/codestriker/CHANGELOG,v
retrieving revision 1.250
retrieving revision 1.251
diff -u -r1.250 -r1.251
--- CHANGELOG 3 Aug 2008 02:08:58 -0000 1.250
+++ CHANGELOG 4 Aug 2008 10:33:34 -0000 1.251
@@ -23,6 +23,8 @@
* Ability to parse git patches correctly.
+* Ability to parse hg diffs (Mercurial SCM) correctly.
+
* Better detection of filename extensions for highlighting. This
previously caused issues for temporary directories which contained
a period, but the filename itself didn't. Reported by
|