Tripletail

 view release on metacpan or  search on metacpan

t/ini.t  view on Meta::CPAN


[TL:special]
Beltain = 300
Lugnasa = 400

[HOST]
Debughost = 192.168.0.0/24
Testuser = 192.168.1.1

[RelocTest]
a = ...
b = .../
c = ....

[Foo]
aaa = 111
EOF

    is $got, $wanted, 'write';
};

is($ini->getFilePath, $t::make_ini::INI_FILE , 'getFilePath');

do {
    open my $fh, '>', "tmp2$$.ini";
    print {$fh} <<'EOF';
[TL]
trapnone
EOF
    close $fh;
};
dies_ok {$ini->read("tmp2$$.ini")} 'read data format error die';
END {
    unlink "tmp2$$.ini";
}

dies_ok {$ini->delete} 'delete undef';
dies_ok {$ini->delete(\123)} 'delete ref';
dies_ok {$ini->delete(Foo => undef)} 'delete undef';
dies_ok {$ini->delete(Foo => \123)} 'delete ref';
ok($ini->delete(Foo => 'aaa'), 'delete');
$ini->set(Foo => aaa => 111);
ok($ini->delete(Foo => 'aaa',1), 'delete');

dies_ok {$ini->deleteGroup} 'deleteGroup undef';
dies_ok {$ini->deleteGroup(\123)} 'deleteGroup ref';
$ini->set(Foo => aaa => 111);
ok($ini->deleteGroup('Foo'), 'deleteGroup');
$ini->set(Foo => aaa => 111);
ok($ini->deleteGroup('Foo',1), 'deleteGroup');

ok($ini = $TL->newIni, 'newIni');
ok($ini->const, 'const');
dies_ok {$ini->set} 'const object undef';
dies_ok {$ini->delete} 'const object undef';
dies_ok {$ini->deleteGroup} 'const object undef';

{
  my $ini = $TL->INI;
  is($ini->get      (RelocTest => 'a'), '...', 'RelocTest.a is "..."');
  is($ini->get_reloc(RelocTest => 'a'), 't',   '- relocated');
  is($ini->get      (RelocTest => 'b'), '.../', 'RelocTest.b is ".../"');
  is($ini->get_reloc(RelocTest => 'b'), 't/', '  - relocated');
  is($ini->get      (RelocTest => 'c'), '....', 'RelocTest.c is "...."');
  is($ini->get_reloc(RelocTest => 'c'), '....', '  - not relocated');
  is($ini->get      (RelocTest => 'd' => undef), undef, 'RelocTest.c is undef');
  is($ini->get_reloc(RelocTest => 'd' => undef), undef, '  - not relocated');
  dies_ok {$ini->get      (RelocTest => 'd')} 'RelocTest.c is undef';
  dies_ok {$ini->get_reloc(RelocTest => 'd')} '  - not relocated';

  my $ini2 = $TL->newIni();
  $ini2->set(RelocTest2 => 'a' => '...');
  is($ini2->get      (RelocTest2 => 'a'), '...', 'RelocTest2.a is "..."');
  is($ini2->get_reloc(RelocTest2 => 'a'), '...', '  - not relocated (no filename)');

  # EXTREMELY UNSAFE. NEVER DO THIS IN YOUR CODE.
  $ini2->{file_path} = "../nofile.ini";
  is($ini2->get_reloc(RelocTest2 => 'a'), '..', '  - relocated to updir');
}



( run in 0.338 second using v1.01-cache-2.11-cpan-71847e10f99 )