#!/usr/bin/perl -w
#

use XML::Node;

# The following sample script calculates how many test cases there are in 
#   a test suite XML file.
#
# The XML file name can be passed as a parameter. Example:
#   perl test.pl test.xml
#

my $suite_name = "";
my $testcase_name = "";
my $xml_filename = "test.xml";
my $testcase_no = 0;
my $arg1 = shift;

if ($arg1) {
    $xml_filename = $arg1;
}

$p = XML::Node->new();

$p->register(">TestTalk>TestSuite>Name","char" => \$ suite_name);
$p->register(">TestTalk>TestSuite>TestCase>Name","char" => \$testcase_name);
$p->register(">TestTalk>TestSuite>TestCase","end" => \& handle_testcase_end);
$p->register(">TestTalk>TestSuite","end" => \& handle_testsuite_end);

print "\nProcessing file [$xml_filename]...\n\n";
$p->parse($xml_filename);


sub handle_testcase_end
{
    print "Found test case [$testcase_name]\n";
    $testcase_name = "";
    $testcase_no ++;
}

sub handle_testsuite_end
{
    print "\n--There are $testcase_no test cases in test suite [$suite_name]\n\n";
    $testcase_name = "";
}




