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
  
  
  

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Codestriker-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/codestriker-commits

Reply via email to