# # $Id: modify.t,v 1.1.1.1 2003/11/25 12:12:34 foxr Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # http://www.lon-capa.org/ # # Test new functionality of ConfigFileEditor::delete # use strict; use Test; use ConfigFileEdit; # # Tests we plan are: # Modify a line in the test file and # - Ensure that the modified line is retrievable. # - Ensure that the old line is gone # To do this we modify a line in a way that # changes its index. # Modify a line in the test file, replacing it with a comment. # - Ensure the old line is gone. # - Ensure the number of keys in the index hash decreased by 1. # BEGIN {plan tests => 4} # # Replace a line with noncomment.# # sub NonCommentReplace { my $newline = "end:final:line:in:file"; my $editor = ConfigFileEdit->new("test2config.cfg", 0); $editor->ReplaceLine("last", $newline); ok($editor->Find("end"), $newline); if(!defined($editor->Find("last"))) { ok(1); } else { ok(0); } } sub CommentReplace { my $newline = " # end:final:line:in:file"; my $editor = ConfigFileEdit->new("test2config.cfg", 0); my $hashref = $editor->{KeyToLines}; my @keys = keys(%$hashref); my $keycount1= @keys; # Number of keys initially. $editor->ReplaceLine("last", $newline); if(!defined($editor->Find("last"))) { ok(1); } else { ok(0); } @keys = keys(%$hashref); my $keycount2 = @keys; ok($keycount2, $keycount1 - 1); } NonCommentReplace; CommentReplace;