Annotation of loncom/cfgedittests/append.t, revision 1.1.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>