[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 |