Annotation of loncom/cfgedittests/append.t, revision 1.1
1.1 ! foxr 1: #
! 2: # $Id: gplheader.pl,v 1.1 2001/11/29 18:19:27 www Exp $
! 3: #
! 4: # Copyright Michigan State University Board of Trustees
! 5: #
! 6: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
! 7: #
! 8: # LON-CAPA is free software; you can redistribute it and/or modify
! 9: # it under the terms of the GNU General Public License as published by
! 10: # the Free Software Foundation; either version 2 of the License, or
! 11: # (at your option) any later version.
! 12: #
! 13: # LON-CAPA is distributed in the hope that it will be useful,
! 14: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 15: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 16: # GNU General Public License for more details.
! 17: #
! 18: # You should have received a copy of the GNU General Public License
! 19: # along with LON-CAPA; if not, write to the Free Software
! 20: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! 21: #
! 22: # /home/httpd/html/adm/gpl.txt
! 23: #
! 24: # http://www.lon-capa.org/
! 25: #
! 26:
! 27: use strict;
! 28: use Test;
! 29: use ConfigFileEdit;
! 30:
! 31:
! 32: #
! 33: # Test the ability to append an item to the list.
! 34: # Tests we plan are:
! 35: # Append item and check that:
! 36: # 1) The count of items is incremented by 1.
! 37: # 2) The last item is the one we added.
! 38: # 3) Append comment ensure that size of index is not
! 39: # increased.
! 40: #
! 41: BEGIN {plan tests=>3}
! 42:
! 43: #
! 44: # Test that after an append, the count of items is increased by one.
! 45:
! 46: sub TestAppendCount {
! 47: my $editor = ConfigFileEdit->new("testconfig.cfg", 0);
! 48: my $editorlines = ($editor->{LineArray});
! 49: my $initiallength = @$editorlines;
! 50:
! 51: $editor->Append("onemore:line:added:at:end");
! 52:
! 53: $editorlines = ($editor->{LineArray});
! 54: my $finallength = @$editorlines;
! 55:
! 56: ok($initiallength+1, $finallength);
! 57: }
! 58: #
! 59: # Test that after an append the new item has an index that is last.
! 60: #
! 61: sub TestAppendIsLast
! 62: {
! 63: my $editor = ConfigFileEdit->new("testconfig.cfg", 0);
! 64: $editor->Append("onemore:line:added:at:end");
! 65:
! 66: my $editorlines = ($editor->{LineArray});
! 67: my $finallength = @$editorlines;
! 68:
! 69: my $editorhash = ($editor->{KeyToLines});
! 70: my $linenum = $editorhash->{"onemore"};
! 71:
! 72: ok($finallength - 1, $linenum); # New line is last line.
! 73:
! 74: }
! 75: #
! 76: # Test that append comment does not add to the index hash.
! 77: #
! 78: sub TestCommentAppend {
! 79: my $editor = ConfigFileEdit->new("testconfig.cfg", 0);
! 80:
! 81: # Figure out how many keys we have now.
! 82:
! 83: my $editorhash = ($editor->{KeyToLines});
! 84: my @hashkeys = keys %$editorhash;
! 85: my $initialcount = @hashkeys;
! 86:
! 87: # Append a comment and figure out how many keys we have:
! 88:
! 89: $editor->Append("# This is clearly a comment line");
! 90: $editorhash = ($editor->{KeyToLines});
! 91: @hashkeys = keys %$editorhash;
! 92:
! 93: my $finalcount = @hashkeys;
! 94:
! 95: ok($initialcount, $finalcount);
! 96: }
! 97:
! 98: TestAppendCount;
! 99: TestAppendIsLast;
! 100: TestCommentAppend
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>