Skip to content

Commit

Permalink
Item1509: More unit tests for extender.pl
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.foswiki.org/trunk@4385 0b4bb1d4-4e5a-0410-9cc4-b2b747904278
  • Loading branch information
MichaelTempest authored and MichaelTempest committed Jul 2, 2009
1 parent 135dbfe commit 7c3359a
Showing 1 changed file with 140 additions and 1 deletion.
141 changes: 140 additions & 1 deletion UnitTestContrib/test/unit/ExtenderTests.pm
Original file line number Diff line number Diff line change
Expand Up @@ -216,12 +216,37 @@ sub test_compare_versions {
[1, 10, '>=', 2],
[0, 10, '=', 2],

[0, ' 10', '<', 2],
[0, ' 10', '<=', 2],
[1, ' 10', '>', 2],
[1, ' 10', '>=', 2],
[0, ' 10', '=', 2],

[0, '10 ', '<', 2],
[0, '10 ', '<=', 2],
[1, '10 ', '>', 2],
[1, '10 ', '>=', 2],
[0, '10 ', '=', 2],

[0, 2, '<', 2],
[1, 2, '<=', 2],
[0, 2, '>', 2],
[1, 2, '>=', 2],
[1, 2, '=', 2],

[1, ' 2', '=', 2],
[1, '2 ', '=', 2],
[1, ' 2 ', '=', 2],
[1, ' 2', '=', ' 2'],
[1, '2 ', '=', ' 2'],
[1, ' 2 ', '=', ' 2'],
[1, ' 2', '=', '2 '],
[1, '2 ', '=', '2 '],
[1, ' 2 ', '=', '2 '],
[1, ' 2', '=', ' 2 '],
[1, '2 ', '=', ' 2 '],
[1, ' 2 ', '=', ' 2 '],

[1, '$Rev: 2 $', '<', 10],
[1, '$Rev: 2 $', '<=', 10],
[0, '$Rev: 2 $', '>', 10],
Expand Down Expand Up @@ -264,18 +289,132 @@ sub test_compare_versions {
[0, '1.2.4.5-beta1', '>=', '1.2.4.5-beta2'],
[0, '1.2.4.5-beta1', '=', '1.2.4.5-beta2'],

[1, '1.2.4.5-beta1', '<', '1.2.4.5'],
[1, '1.2.4.5-beta1', '<=', '1.2.4.5'],
[0, '1.2.4.5-beta1', '>', '1.2.4.5'],
[0, '1.2.4.5-beta1', '>=', '1.2.4.5'],
[0, '1.2.4.5-beta1', '=', '1.2.4.5'],

[1, '1.2.5', '<', '1.2.5a'],
[1, '1.2.5', '<=', '1.2.5a'],
[0, '1.2.5', '>', '1.2.5a'],
[0, '1.2.5', '>=', '1.2.5a'],
[0, '1.2.5', '=', '1.2.5a'],

[1, 'v1.2', '<', '2.2'],
[1, 'v1.2', '<=', '2.2'],
[0, 'v1.2', '>', '2.2'],
[0, 'v1.2', '>=', '2.2'],
[0, 'v1.2', '=', '2.2'],

[0, 'v1.2', '<', '1.2'],
[1, 'v1.2', '<=', '1.2'],
[0, 'v1.2', '>', '1.2'],
[1, 'v1.2', '>=', '1.2'],
[1, 'v1.2', '=', '1.2'],

[1, '1 Jan 2009', '<', '2 Jan 2009'],
[1, '2 Jan 2009', '=', ' 2 Jan 2009'],
[1, '2 Jan 2009', '=', '02 Jan 2009'],
[1, '2-Jan-2009', '=', '2 Jan 2009'],
[1, '2 Jan 2009', '<', '20 Jan 2009'],
[1, '21 Jan 2009', '<', '22 Jan 2009'],
[0, '2 Jan 2009', '=', '20 Jan 2009'],
[0, '2 Jan 2009', '=', ' 3 Jan 2009'],
[0, '2 Jan 2009', '=', '03 Jan 2009'],
[0, '2 Jan 2009', '=', '2 Feb 2009'],
[0, '2 Jan 2009', '=', '2 Jan 2010'],
[1, '2 Jan 2009', '<', '10 Jan 2009'],
[1, '2 Feb 2009', '>', '10 Jan 2009'],
[1, '2 Feb 2009', '<', '10 Jan 2010'],

[1, '31 Jan 2000', '<', '1 Feb 2000'],
[1, '29 Feb 2000', '<', '1 Mar 2000'],
[1, '31 Mar 2000', '<', '1 Jun 2000'],
[1, '30 Jun 2000', '<', '1 Jul 2000'],
[1, '31 Jul 2000', '<', '1 Aug 2000'],
[1, '31 Aug 2000', '<', '1 Sep 2000'],
[1, '30 Sep 2000', '<', '1 Oct 2000'],
[1, '31 Oct 2000', '<', '1 Nov 2000'],
[1, '30 Nov 2000', '<', '1 Dec 2000'],
[1, '31 Dec 2000', '<', '1 Jan 2001'],

[1, '1-2-2000', '=', '01-2-2000'],
[1, '1-2-2000', '=', '01-02-2000'],
[1, '1-2-2000', '=', '1-02-2000'],
[1, '1-3-2000', '<', '2-3-2000'],
[1, '10-3-2000', '<', '11-3-2000'],
[1, '10-4-2000', '>', '11-3-2000'],
[1, '10-3-2001', '>', '11-4-2000'],

[1, '20090414', '>', '20090413'],
[1, '20090414', '=', '20090414'],
[1, '20090414', '<', '20090415'],
[1, '20090414', '>', '20090314'],
[1, '20090414', '<', '20090514'],
[1, '20090414', '<', '20091114'],
[1, '20100414', '>', '20090414'],

[1, '0.00_01', '>', 0],
[1, '0.1', '>', 0],
[1, '0.0.0.1', '>', 0],
[1, 'v0.1', '>', 0],
[1, 'v0.0.0.1', '>', 0],
[1, '1 Jan 1990', '>', 0],
[1, '1-1-1990', '>', 0],
[1, '19900101', '>', 0],

[1, '$Rev: $', '=', '$Rev$'],
[1, '$Rev: $', '=', '$Rev$'],
[1, '$Rev: $', '=', '$Rev$'],
[1, '$Rev:$', '=', '$Rev$'],
[1, '$Rev $', '=', '$Rev$'],
[1, '$Rev$', '>', 0],
[1, '$Rev$', '>=', 1],

[1, '', '<', 1],
[1, '', '<=', 1],
[0, '', '>', 1],
[0, '', '>=', 1],
[0, '', '=', 1],

[0, 1, '', 1],
[0, 1, '', 0],
[0, 1, '', undef],
[0, 0, '', 1],
[0, 0, '', 0],
[0, 0, '', undef],
[0, undef, '', 1],
[0, undef, '', 0],
[0, undef, '', undef],

[0, 1, 'x', 1],
[0, 1, 'x', 0],
[0, 1, 'x', undef],
[0, 0, 'x', 1],
[0, 0, 'x', 0],
[0, 0, 'x', undef],
[0, undef, 'x', 1],
[0, undef, 'x', 0],
[0, undef, 'x', undef],

[0, 1, undef, 1],
[0, 1, undef, 0],
[0, 1, undef, undef],
[0, 0, undef, 1],
[0, 0, undef, 0],
[0, 0, undef, undef],
[0, undef, undef, 1],
[0, undef, undef, 0],
[0, undef, undef, undef],

);
foreach my $set (@comparisons) {
my $expected = shift @$set;
my $actual = Foswiki::Extender::compare_versions(@$set) ? 1 : 0;
$this->assert_equals( $expected,
$actual,
join(' ', '[', @$set, '] should give', $expected) );
join(' ', '[', map({ defined($_) ? $_ : 'undef' } @$set), '] should give', $expected) );
}
}

Expand Down

0 comments on commit 7c3359a

Please sign in to comment.