#!/usr/bin/perl -w
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'

#########################

use strict;
use Test;
use Data::Dumper;
use FindBin '$RealBin';
use File::Spec;
BEGIN {
  plan tests => 18;
}

use Config::Simple;
ok(1);
#########################

# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

my $ini_file = File::Spec->catfile($RealBin, 'project.ini');

my $cfg = new Config::Simple();
ok($cfg);
ok($cfg->read($ini_file));
ok($cfg->param('Project\2.Name') eq 'MPFCU');
ok($cfg->param('Project\1.Count') == 9);
ok($cfg->block() == 5);
my $vars = $cfg->vars();
ok($vars->{'Project\2.Name'} eq 'MPFCU');
ok($cfg->param(-name=>'Project\100.Name', -value =>'Config::Simple'));
ok($cfg->param(-name=>'Project\100.Names', -values=>['First Name', 'Second name']));
ok($cfg->param('Project\100.NL', "Hello \nWorld"));
ok($cfg->param('Project\1.Count', 9));

my @names = $cfg->param('Project\100.Names');
ok(scalar(@names) == 2);

# testing get_block():
ok( ref($cfg->param(-block=>'Project')) eq 'HASH' );
#die Dumper($cfg->param(-block=>'Project'));
ok( $cfg->param(-block=>'Project')->{Count} == 3);

$cfg->param(-block=>'Project', -value=>{Count=>3, set_block=>['working', 'really'], Index=>1, 'Multiple Columns'=>20});
ok($cfg->param('Project.set_block')->[0] eq 'working');

my $names = $cfg->param('Project\100.Names');
ok(ref($names) eq 'ARRAY');
ok($cfg->write());


# now testing the new syntax:
my $data = Config::Simple->parse_ini_file($ini_file);
ok(ref($data) eq 'HASH');




syntax highlighted by Code2HTML, v. 0.9.1