# -*-perl-*- use strict; use Test::More; use FindBin qw($Bin); use Brackup::Config; my ($config); my %source_defaults = ( noatime => 1, chunk_size => '64MB', merge_files_under => '1kB', smart_mp3_chunking => 1, ); my %target_defaults = ( type => 'Ftp', ftp_host => 'myserver', ftp_user => 'myusername', ftp_password => 'mypassword', path => '.', ); my %override = ( home_weekly => { chunk_size => '96MB', }, home_monthly => { chunk_size => '128MB', }, ftp_home => { path => 'home', }, ftp_images => { path => 'images', }, ); ok($config = Brackup::Config->load("$Bin/misc/brackup.conf"), "misc/brackup.conf loaded"); is($config->{'SOURCE:defaults'}->value($_), $source_defaults{$_}, "source defaults $_ ok") for sort keys %source_defaults; is($config->{'SOURCE:home'}->value($_), $source_defaults{$_}, "home $_ ok") for sort keys %source_defaults; is($config->{'SOURCE:home_weekly'}->value($_), $override{home_weekly}{$_} || $source_defaults{$_}, "home_weekly $_ ok") for sort keys %source_defaults; is($config->{'SOURCE:home_monthly'}->value($_), $override{home_monthly}{$_} || $source_defaults{$_}, "home_monthly $_ ok") for sort keys %source_defaults; is($config->{'TARGET:ftp_defaults'}->value($_), $target_defaults{$_}, "target ftp_defaults $_ ok") for sort keys %target_defaults; is($config->{'TARGET:ftp_home'}->value($_), $override{ftp_home}{$_} || $target_defaults{$_}, "ftp_home $_ ok") for sort keys %target_defaults; is($config->{'TARGET:ftp_images'}->value($_), $override{ftp_images}{$_} || $target_defaults{$_}, "ftp_images $_ ok") for sort keys %target_defaults; done_testing;